有以下程序: #include main() { int a=1,b=1; for(;a--;) b--; printf("%d,%d\n",a,b); } 程序运行后的输出结果是( )。

admin2019-01-11  22

问题 有以下程序:
#include
main()
{  int a=1,b=1;
for(;a--;)
b--;
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是(    )。

选项 A、-1.0
B、0,0
C、-1,-1
D、1,1

答案A

解析 题干中语句for(;a--;)的执行过程是:先判断表达式a--是否为0,因为运算符“--”在变量的后面,表示先进行其他操作,再让变量a减1,即判断a!=0成立,则进入循环,然后a减1。起始a=1不等于0。满足条件进人for循环,然后a自减1为0,b自减1为0,继续循环;再跳回for语句时,a!=0不成立,不会进入循环,但是a也要自减1为-1,循环结束。因此,最后输出a=-1,b=0。故答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/X0a0FFFM
0

最新回复(0)