问题 单项选择题

以下程序运行后的输出结果是 #include<stdio.h> main(){  int a=1,b=2;  while(a<6){b+=a; a+=2; b%=10; }  printf("%d, %d\n", a, b); }

A.5,11

B.7,1

C.7,11

D.6,1

答案

参考答案:B

解析: a的初值为1,b的初值为2;循环中通过“b+=a;”完成a值的累加,变量a的值每次增加2,所以a的取值为1、3、5、7,当a=7时跳出循环,循环中变量b不仅完成累加,还要进行“b%=10”的运算,前两次循环b的值分别变为3×(2+1)和6×(3+3),做求余运算后b的值不变,最后一次循环b=6+5=11;执行“b%=10;”后b的值变为1。所以最后a=7,b=1。

实验题
问答题 简答题