我也运行了下,全是6也不太清楚是怎么回事不过我想如果不是题目有问题的话那应是D比C更好一些因为C和D中的运算符优先级是这样的:C中最高的是成员访问符然后才是括号然后是前自增然后是解引用,编译器应该是把括号认为是最高优先级的了,括号内算完后再算外边的,因为如果严格按照优先级的话最先的应该是.可是在括号没运算出来前.是无效的,所以说C编译的结果理论上不准确吧,D就很中规中矩的答案了。个人感觉题目有问题的可能大一点,毕竟如果说学C++的理论无法用于实践学着也没用哈,所以实践更重要一些。如果强要说只有D是对的话只有那一个解释了参考书上是找到优先级的地方