C语言自增自减的问题?

发布时间:2024-05-29 09:12 发布:上海旅游网

问题描述:

#include"shdio.h"
void main()
{int x=4,y;
y=(--x)+(x++);
printf("%d,%d\n",x,y);
}
程序执行结果为4和6.为什么Y=6?
y=(--x)+(x++);这句请教大家帮忙讲解一下?
自增自减(--4)等于多少?(4++)等于多少?
关于这个前缀和后缀,结果怎么得出Y==6?
第一句(--x)等于等于3好理解,怎么后面 (X++)也等于3?
X不是4吗?2++才等于3的啊!
请教楼下的!谢谢

问题解答:

--X(++X)表示先减(加)再带入表达式运算。X++和X--反之。
所以你的y=(--x)+(x++);先执行--X 此时X==3;所以Y=3+3=6;运算之后,X执行自加运算,X++,此时X等于4.所以到你输出X,Y的时候X==4,Y==6.
还有:你的#include"shdio.h"因该是stdio.h吧~~~
--X之后3的值就被赋予X了。。你X又要等于3又要等于4吗~~
就是说X自加运算X++要在y=(--x)+(x++);执行之后才运算。

--x表示x先做自减运算再参与其他运算
自减后x=3
然后X++表示先进行前面的运算然后x自加
所以y=3+3=6
x=4

热点新闻