C语言这段程序为什么会输出1,0,4

2025-04-07 15:03:23
推荐回答(1个)
回答1:

因为
k=a+1>0||(++a<0)&&(!(b--<=0));

编译器会解释成下面这种
k=(a+1>0)||((++a<0)&&(!(b--<=0)));
而不是下面这种
k=((a+1>0)||(++a<0))&&(!(b--<=0));

刚才我有看了一下优先级的那张表
&&为11 ||为12
所以
x||y&&z
就相当于&&在||内部,就成x||(y&&z)这种情况了。