黑马程序员技术交流社区
标题:
#C语言问题#为什么int i=7;printf("%d\n",i++ * i++);返回49?
[打印本页]
作者:
huangsailin
时间:
2015-7-10 16:42
标题:
#C语言问题#为什么int i=7;printf("%d\n",i++ * i++);返回49?
使用我的编译器,下面的代码int i=7; printf("%d\n", i++ * i++); 返回49?不管按什么顺序计算, 难道不该打印出56吗?
作者:
泡泡龙
时间:
2015-7-10 18:17
就是49, 自增运算符的优先级高于乘法的,所以先计算两个i++,都是7, 7*7=49
作者:
llo
时间:
2015-7-10 20:21
那是一条语句没有执行完 所以那个i没有自加 你在这个语句输出i的值是9
作者:
丁铭检
时间:
2015-7-10 20:35
同意沙发的看法。。
作者:
糖糖本尊
时间:
2015-7-10 21:25
i++是表达式的值 所以为7 i的值为8 然后是7*7=49
作者:
爱楚楚
时间:
2015-7-10 21:50
i++,是先取在加,7*7,之后各自加一
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2