因为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)这种情况了。