问题 单项选择题

有以下程序
#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的值不变。

选择题
填空题