int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) printf("%d %d %d",a,b,c); else printf("%d %dint a=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=0||c--!=3)printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);为什

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 08:36:01
int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) printf(

int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) printf("%d %d %d",a,b,c); else printf("%d %dint a=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=0||c--!=3)printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);为什
int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) printf("%d %d %d",a,b,c); else printf("%d %d
int a=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=0||c--!=3)
printf("%d %d %d",a,b,c);
else printf("%d %d %d",a,b,c);
else printf("%d %d %d",a,b,c);
为什么先判断b是否等于2,再自加,++的优先级不是高于==吗?

int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) printf("%d %d %d",a,b,c); else printf("%d %dint a=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=0||c--!=3)printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);else printf("%d %d %d",a,b,c);为什
++有前后之分,表达式b++先返回当前b的值,然后b自增,++b先将b自增,再返回b现在的值.
你的代码中用的b++,所以匹配成功了