若有以下程序: #include<stdio.h> main() { int a=6,b=0,c=0; for(;a;){b+=a;a-=++c;} printf("%d,%d,%d\n",a,b

admin2019-02-02  37

问题 若有以下程序:
    #include<stdio.h>
    main()
    {
      int a=6,b=0,c=0;
      for(;a;){b+=a;a-=++c;}
      printf("%d,%d,%d\n",a,b,c);
    }
    则程序的输出结果是(    )。

选项 A、1,14,3
B、0,14,3
C、0,18,3
D、0,14,6

答案B

解析 for循环的判断条件是只要a为0就退出循环体。初始a的值为6,满足条件,执行完循环体,b的值为6,a—=++c,即a=a—(++c),所以a的值为5,c的值为1。第二次循环后b的值为11,a的值为3,c的值为2。第三次也是最后一次循环后,a的值为0,b的值14,c的值为3。故B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/KoRp777K
0

最新回复(0)