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

admin2022-06-24  35

问题 若有以下程序:
#include<stdio.h>
main( )
{
int a=6,b=0,c=0;
for(;a;)
{b+=a;a-=++c;}
printf("%d,%a,%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。
转载请注明原文地址:https://kaotiyun.com/show/tFkp777K
0

最新回复(0)