首页 > 试题广场 > 以下程序运行后的输出结果是(  &nbs
[单选题]
以下程序运行后的输出结果是(      )
int main()
{
int a=1,b=2,m=0,n=0,k;

k=(n=b<a)&&(m=a) ;
printf("%d,%d\n",k,m);

return 0;
}


  • 0,0
  • 0,1
  • 1,0
  • 1,1
因为前面的等于0,所以不执行后面的语句,所以m=0
发表于 2019-08-26 10:32:52 回复(1)

前面不是赋值吗 怎么会是0 n=0赋值操作为真啊?

发表于 2020-04-02 23:33:55 回复(1)

短路了

发表于 2019-11-26 15:39:14 回复(0)
考察运算符优先级,已经&&短路情况。这只是出题情况,开发过程中可千万别这样写,多用括号()才是王道
发表于 2020-01-03 12:50:07 回复(0)
前面的是个赋值,为真不执行后面的
发表于 2019-10-20 17:28:40 回复(0)