全部问题 > 当前问题

循环第二次时b=6, 答案是b%=10,b=6,而我认为应该是b=6%10=3%5=3,怎么解释?

循环第二次时b=6, 答案是b%=10,b=6,而我认为应该是b=6%10=3%5=3,怎么解释?

刘杨敏 2017-2-9 17:37:15

共 2 个回答

qqq 2017-2-9 17:52:19

谁跟你说取余还可以了约去最大公约数的。。

刘杨敏 2017-2-10 15:15:03

回复 qqq:不知道,取余应该是小学时学的,印象中老师没提过这类问题后来没怎么接触也没思考过,网上也没找到,哈哈现在也算是补了一课咯!

问题来自: while循环和do循环
有以下程序
#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,a&lt;6为真。b+=a,结果b=3;a+=2,结果a=3;b%=10,结果b=3。此时a=3,b=3。 a=3,a&lt;6为真。b+=a,结果b=6;a+=2,结果a=5;b%=10,结果b=6。此时a=5,b=6。 a=5,a&lt;6为真。b+=a,结果b=11;a+=2,结果a=7;b%=10,结果b=1。此时a=7,b=1。循环结束。因此选B。