问题
单项选择题
有以下程序
#include <stdio.h>
main()
int n=2,k=0;
while(k++&&n++>2);
printf("%d %d\n",k,n);
程序运行后的输出结果是
A) 0 2
B) 1 3
C) 5 7
D) 1 2
答案
参考答案:D
解析: 本题考查逻辑运算符的“短路”现象,由于k的值为0,表达式首先去求k++的值,因为表达式k++的值为0,系统完全可以确定逻辑表达式的运算结果总是为0,因此将跳过n++>2,不再对它进行求值,即k的值加1,n的值不变。