Roman_Black 发表于 2014-3-20 17:20:43

C语言优先级问题

#include<stdio.h>
main()
{
int a=5,b;
b=(++a)*(--a);
printf("%d",b);
}
用VC6.0结果是25,表示很费解,不是应该先算括号里的吗?我认为结果应该是20,求哪位能帮小弟解答下。

超级忍者龟 发表于 2014-3-20 17:20:44

++运算符比*要高优先级,先执行完++a和--a后,a还是5,再执行*

水墨君 发表于 2014-3-20 19:01:20

这样的写法,它求出来的值是和编译器有关的。什么人会写这样不合格的烂语句,除了学校那种只为考试的烂地方。对于这种结果不能预知的代码,写出来直接开除:huffy:

牡丹花下死做鬼 发表于 2014-3-21 18:30:49

同意三楼说法
页: [1]
查看完整版本: C语言优先级问题