关于C的未定义行为 转自:http://www.guokr.com/blog/471312/ 对于C的初学者来说,被要求做下面的这种题目真的是脑残的不能再脑残的行为.但是很多C初级教程——居然都有这样的题.最典型的例子就是 a+=a++; 这种情况下,a最后到底等于多少了? 编译器应该如何理解a+=a++呢?首先是展开,a=a+a++:然后分别计算a和a++的值,把它们相加,然后把结果赋给a.但是这里有一个问题,就是执行完a++之后,a++的值等于a本身的值,但是a的值却变成了a+1.所以关键是…