新手问题,一个非常简单的C语言程序。

来源:百度知道 编辑:UC知道 时间:2024/07/07 00:46:18
#include<stdio.h>
main()
{
int x,y,a,b,c;
x=3;
a=x++;
b=x++;
c=x++;
y=a+b+c;
printf("\nx=%d,y=%d",x,y);
}

y=12我可以理解,但是x=6我不懂,希望好心人能给我讲解。
因为abc都是后缀形式,x已经先取值3,怎么会变成6.

x=3;
a=x++; //先把x=3赋给a接着x++就是x自增,所以x此时为4.
b=x++; //把x=4赋给b接着x++即自增,此时x为5.
c=x++; //把x=5赋给c接着x++即自增,此时x为6.
所以a=3;b=4;c=5;
所以y=a+b+c=12,
x=6.
x++是先把x的值进行运算,接着x加1.

x自加了3次撒

x=x+1即x++

x++ 表示读取x的值,然后执行x=x+1操作

程序有3个x++,那么就有3次x=x+1,所以最后x=6

每运行一次x++,x值都自加1
在:
a=x++;
b=x++;
c=x++;
这个过程中,x++处理了3次,
所以x就加1了3回,
x就变为6了

这样看吧x++了3次
x++是先运算在自己加1,3次不就是加3了了吗