问题
单项选择题
有以下程序:
#include<stdio.h>
main()
int k=5;
while(--k) printf("%d",k-=3);
printf("\n");
执行后的输出结果是( )。
A) 1
B) 2
C) 4
D) 死循环
答案
参考答案:A
解析: 本题考查的是while循环和一运算符。因为在while循环的循环条件中,一运算符是前缀形式,所以表达式--k的值是k自减之后的值。程序开始时,将k的值初始化为5,然后进入while循环,因为--k的值为4(非零),所以执行循环体输出k-=3的值1,此时k的值也变为1。第2次执行循环条件,--k的值为0,所以循环结束。因此最后输出的结果是1,故应该选择A)。