房天下问答 >业主生活>其他> 问题详情

C语言自加

int a=3,b=5,c1,c2;c1=a*b+++b;c2=++b+a*b;我这样分析。。对c1,式子中乘法运算级最高,先算乘法,3*5=15,再算15+++b,先自加b=6,再加上15.。我算出21.。。对c2,过程与c1同,得21.。。。而正确答案是20和24.。请问我怎么分析错了。。应该怎么分析?
免费港湾|2011-01-11 05:42

其他答案

rewvan

你的优先级理解不对。后缀++最高,然后是前缀++,然后是乘法,再后是加法。所以c1 = a * b++ + b;c2 = ++b + a * b;正确答案应该是21和28.我还特意用VS2005确认了一下。c1=a *(b++)+ b=3*5+6=21//此时b已经等于6了c2=(++b)+a*b=7+3*7=28这本书的答案也够害人。参考文献:
2011-01-11 06:44
来自北京市

免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关于我们网站合作联系我们招聘信息房天下家族网站地图意见反馈手机房天下开放平台服务声明加盟房天下
Copyright © 北京搜房科技发展有限公司
Beijing SouFun Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:jubao@fang.com
返回顶部
意见反馈