中易网

C语言中 int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d\n",b,c); b和c为什么都等于0

答案:3  悬赏:10  
解决时间 2021-01-13 23:12
  • 提问者网友:人生佛魔见
  • 2021-01-13 13:33
C语言中 int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d\n",b,c); b和c为什么都等于0
最佳答案
  • 二级知识专家网友:酒醒三更
  • 2021-01-13 15:05
c语言中&&是一种双目运算符,表示与运算,而当左边所给表达式或变量为0时,不再计算右侧,整个表达式为零。
追问:若a=1的话b和c也就都等于1了是这样吗
全部回答
  • 1楼网友:野慌
  • 2021-01-13 16:23
只要条件a为假,就不会执行++b 和 c++了,所以b和c都等于0
追问:if(a&&++b)
这个什么意思呢
  • 2楼网友:夜风逐马
  • 2021-01-13 15:14
因为a=0所以&&右边的就被短路了,不被执行, 所以最后a, b, c的值都不变,都为0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息