全部问题 > 当前问题

打出来的代码输出的结果不一样?

#include <stdio.h>

main()

{

int a=1,b=2;

while(a<b) {b+=a; a+=2;b%=10;}

printf("%d,%d\n",a,b);

}

结果:

3,3

Press any key to continue


黄庭浩 2018-12-2 22:01:44

共 1 个回答

最佳答案

【C语言】桦桦 2018-12-3 21:00:27

哥,题目是while(a<6)

你的是  while(a<b)

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