鱼C论坛

 找回密码
 立即注册
查看: 1961|回复: 6

关于++运算的坑爹问题

[复制链接]
发表于 2014-2-13 16:04:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
直接上代码:
#include <stdio.h>
void main()
{
int i=8,a;
a=(++i)+(++i)+(++i);
printf("%d\n%d\n",a,i);  
}



结果是a=31   

求大神解释一下运算的具体过程=    =!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-13 17:15:15 | 显示全部楼层
我的天 啊 拜托能不能提问之前先搜索下 你问的逗号表达式啊 自增自减都已经有N多人详细回答了N便了!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-13 17:40:35 | 显示全部楼层
a=(++i)+(++i)+(++i);

第一个++i,i=9
第二个++i, i=10
第3个++i,i=11,要我算就是30呵呵,多百度,多学习,咱们现在学的还很浅呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-13 17:50:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-13 17:56:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-13 18:33:13 | 显示全部楼层
对于不同的编译器结果是不同的,这种问题其本身就是语法错误的懂吗,但是那些脑残的出题目的所谓的出题者们,连这都不清楚,还来上台来,就如,谭浩强之类的,把main函数搞出N种写法是一个道理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-13 18:39:41 | 显示全部楼层
1.计算第一个括号++i,之后i=9,
2.计算第二个++i之后i=10.
3.,此时变成i+i+(++i),应当计算i+i,也就是10+10=20
4.变成20+(++i),计算最后一个(++i)之后i=11,
5.,计算20+11=31,
记得了按照标准来说,其本身是语法错误的,,就如没有void mian(){}这类写法一样,是语法错误的,可是小甲鱼还是一直在写void main(){}典型被谭浩强影响的
为什么写错了,还不报错呢,你要感谢vc调节出错的能力。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-10 17:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表