全部问题 > 当前问题

与逻辑后面的〉2怎么理解?逻辑短路过后就不用管它了啊

匿名课官 2016-3-7 14:07:21

共 1 个回答

最佳答案

湖南巡抚骆秉章 2016-3-7 14:19:10

就是n++的结果要求大于2,同时要求K++的结果不为0,但是此时k++的结果仍然是0,由于while语句从左向右判断,k++已经不满足条件,n++就不用判断了,也就是没有执行,但是k本身已经加1,所以输出的结果是1和2,望采纳。

问题来自: while循环和do循环
有以下程序
#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,为假,逻辑短路,n++没有执行。所以k的值是1,n的值是2。因此选D。