首页 > 试题广场 > 以下程序运行后的输出结果是(  &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
对于逻辑语句,电脑为了高效率,在且语句内,前面的判断如果是假的,那么后面的就不在进行直接跳过。
发表于 2019-09-17 16:22:31 回复(2)
短路预算,m=a不会执行,所以m维持原值
发表于 2020-03-05 19:21:33 回复(0)
短路
发表于 2020-02-11 08:29:07 回复(0)
条件表达式优先级高于赋值表达式
发表于 2019-12-26 21:26:41 回复(1)
本题考的是逻辑与的短路规则,当前面一项的表达式为假时,后面的表达式不再计算,所以m的值还是0。
发表于 2019-08-23 11:33:15 回复(0)