房天下 > 房天下问答 > 业主生活 > 其他
  • 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

共1个回答
  • rewvan 丨Lv 0
    你的优先级理解不对。后缀++最高,然后是前缀++,然后是乘法,再后是加法。所以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这本书的答案也够害人。参考文献:
    +1 2011-01-11 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。