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.。请问我怎么分析错了。。应该怎么分析?
其他答案
你的优先级理解不对。后缀++最高,然后是前缀++,然后是乘法,再后是加法。所以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
来自北京市
赞(0)点赞赞(0)举报
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。




