问题 单项选择题

以下程序运行后的输出结果是
#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。

判断题
多项选择题