问题 单项选择题

有以下程序 #include<stdio.h> void main() { int n=2,k=1; while(!(k>0||n++)); printf("%d %d\n",k,n); } 程序运行后的输出结果是( )。

A.0 2

B.1 3

C.5 7

D.1 2

答案

参考答案:D

解析: 在程序中整型变量n的初始值等于2,整型变最k的初始值等于1,在执行while语句时,由于表达式k的值大于0为真,所以不再需要判断n++是否为真,(k>0||n++)表达式的值为真。!(k>0||n++)表达式的值为假,所以while语句中的条件不满足,循环语句不会执行,变量n的值也不会加1,所在输出变量k和n的值是1和2。

单项选择题
多项选择题