代码演示
#includeint main() { int i; int tmp; int a; int b; int *q; int *p; i =1; printf("开始n"); printf("i = %d n",(++i)+(++i)); i =1; a = ++i; b = ++i; a = i; tmp =a+b; printf("正确的分解运行 n"); printf("i = %d n",tmp); i =1; a = ++i; b = ++i; //a = i; tmp =a+b; printf("错误的分解运行 n"); printf("i = %d n",tmp); i =1; ++i; ++i; p = &i; q = &i; tmp = (*p) + (*q); printf("指针的分解运行 n"); printf("i = %d n",tmp); return 0; }
运行结果
注意错误的分解运行错误点在于认为 前面的a的存储地址是独立的,实际上a的存储的是i地址的内容。因此在b赋值完成之后再次进行赋值;如果使用指针演示更加明显



