全部问题 > 当前问题

b=3的话,为什么b%=10之后结果还是b=3

b=3的话,为什么b%=10之后结果还是b=3

钟丽鸣 2016-8-20 18:51:10

共 2 个回答

熊俊聪 2016-8-20 18:56:15

b=3,b=b%10,商为0,余数是3,%是取余的意思

范宇 2016-8-20 19:36:16

%是取余的意思

问题来自: 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。