又一个C语言问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:22:34
#include<stdio.h>
void main()
{
int x=1,y=1,z=1;
y=y+z;
x=x+y;
printf("%d\n",x<y?y:x);
printf("%d\n",x<y?x++:y++);
printf("%d\n",x);
printf("%d\n",y);
x=3;
y=z=4;
printf("%d\n",(x>=y>=z)?1:0);
printf("%d\n",z>=y&&y>=x);
}
结果是:323301
其中最后一个3我没有明白 ,应该是2的。。。
对了 y++,我一直都没搞明白 还有++y 为什么是2 后面又输出y 是3???

第2个printf的时候是y++,打出来2然后y进行+1的操作,第4个那就打出3来了啊。
如果是++y的话,2个都是3的
y++表示执行结束后,y+1
++y表示y先+1再执行的

y++是先使用y的值,然后再自加,而++y是在自加以后再使用y的新值。。

y++是先对y带入表达式计算,然后再加一,++y是先加一然后在计算。