#include<stdio.h>
int main()
{
int a = 5;
printf("%d: %d: %d: %d: %d",a++, a++, ++a, a++, ++a);
return 0;
}
运行结果:9: 8: 10: 6: 10
从右往左算:++a每次运算完都会更新该内存的所有值
a++栈 ++a栈
6 第2步 6 第1步
8 第3步
8 第4步 9更新最新
9 第5步 10更新最新
从左到右依次出栈
9 8 10 6 10
gcc -g -o cli shenqi.c
gdb cli
b 14
r
disassemble (查看汇编)
有些点可能理解有错,解释的还不够详细,待看懂汇编后再补充(作为个人笔记)