关于前缀++和后缀++的计算

#include
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d",p,q,i);
}
为什么结果是15,22,8呢?
第一个括号里的i++结果到底等于多少啊

注意一点 i++与 ++i ,的区别主要在于参与运算(参与运算的本身是表达式)的表达式本身的值是否变化,而共同点是i值所指向的数值一定会发生变化
明白这个之后,就没必要纠结其他的啦。

不要去纠结这些问题,去软件跑一下,断点一下就啥都明白。以其花时间弄这些,不如去思考点实质的。纯粹个人观点

无法确定表达式的值,这个是未定义行为,也就是C/C++语言规范没有规定,各个编译器实现不同,结果不同。

https://blog.csdn.net/wusuopuBUPT/article/details/12908245