#include <stdio.h>
main()
{
int a=5,b; b=++a*–a;
printf(“%d\n”,b);
}
结果是25,怎么不是30呢?
把++a*–a换成++a*a结果就变成36啦??
why?????
>> 本文固定链接: http://www.vcgood.com/archives/3082
>> 转载请注明: ai474427793 2009年03月14日 于 C语言帝国 发表
#include <stdio.h>
main()
{
int a=5,b; b=++a*–a;
printf(“%d\n”,b);
}
结果是25,怎么不是30呢?
把++a*–a换成++a*a结果就变成36啦??
why?????
>> 本文固定链接: http://www.vcgood.com/archives/3082
>> 转载请注明: ai474427793 2009年03月14日 于 C语言帝国 发表
你必须先 登录才能发表评论。
我猜测是由于优先级的原因
程序会先运算++a 和–a 这样以来a没变还是5 所以。。。。。。
谢谢啊,问了一下老师,就是这个意思,先自增自减,一个式子里可以认为a只能有一个值
看了这个贴,我也才明白。有所收获。嘿嘿