有以下程序:main() {int k=5; while(--k) printf("%d", k-=3); printf("\n");} 执行后的输出结果是( )。

admin2013-06-11  18

问题 有以下程序:main()    {int k=5;       while(--k) printf("%d", k-=3);       printf("\n");}    执行后的输出结果是(  )。

选项 A、1
B、2
C、4
D、死循环

答案1

解析 因为在while循环的循环条件中,一运算符是前缀形式,所以表达式—k的值是k自减之后的值。程序开始时,将k的值初始化为5,然后进入while循环,因为—k的值为4(非零),所以执行循环体输出k-=3的值1,此时k的值也变为1。第2次执行循环条件,—k的值为0,所以循环结束。因此最后输出的结果是1,故应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/NxJp777K
0

最新回复(0)