呵呵,看了下楼上几位大神的汇编码,看大家热情蛮高就忍不住来凑一下
其实,这个问题不能完全按照执行顺序的思路考虑,
其实连加式子比较蒙人在于编译器有“运算优先级”的问题,前边几位已经说过了。
不妨试一下:
a = 3;
b = a++;
b = ++a + b;
b = (a++) + b;
printf("%d\\n %d\\n",b,a);
断点看一下 就明了了
其实个人认为,学编程的话,这些内容相对边缘,不如多了解些实用的知识,
比如记住自加运算在C/C++中,前++效率要略好。
其实,这个问题不能完全按照执行顺序的思路考虑,
其实连加式子比较蒙人在于编译器有“运算优先级”的问题,前边几位已经说过了。
不妨试一下:
a = 3;
b = a++;
b = ++a + b;
b = (a++) + b;
printf("%d\\n %d\\n",b,a);
断点看一下 就明了了
其实个人认为,学编程的话,这些内容相对边缘,不如多了解些实用的知识,
比如记住自加运算在C/C++中,前++效率要略好。