|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ m=(++i)+(++i)+(++i);
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
784
人关注过本帖
标题:
m=(++i)+(++i)+(++i);
只看楼主
加入收藏
dzui
等 级:
新手上路
帖 子:2
专家分:0
注 册:2010-1-20
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:4
m=(++i)+(++i)+(++i);
#include "stdio.h"
main()
{
int i,m;
i=5;
m=(++i)+(++i)+(++i);
printf("m=%d\ni=%d\n",m,i);
getch();
}
的结果怎么在TC里是m=24,i=8,而在VC++里是m=22,i=8
搜索更多相关主题的帖子:
include
2010-01-20 13:40
举报帖子
使用道具
赠送鲜花
godbless
等 级:
蝙蝠侠
威 望:
1
帖 子:216
专家分:950
注 册:2009-7-24
第
2
楼
收藏
得分:5
我想每一本C语言书都会告诉你这问题的原因并告诫你不要再为此类问题而困扰.
编译器的不同导致了结果的不同, 自己不要写这样的程序就可以了, 为了好的移植性.
2010-01-20 15:10
举报帖子
使用道具
赠送鲜花
Devon_Ye
来 自:广东
等 级:
业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
第
3
楼
收藏
得分:5
楼上说的很对,是编译器不同导致的结果
其实答案在别的帖子里已经有了,我借花献佛咯。
int i=5; 计算(++i)+(++i)+(++i)的值=?
由于VC在处理 a+b+c的时候是按(a+b)+c来处理的,所以对上表达式是:
先计算(++i)+(++i)然后再第三个++i,从而表达式的结果是: (7+7)+8=22
2010-01-20 16:06
举报帖子
使用道具
赠送鲜花
lele2010
等 级:
论坛游侠
帖 子:84
专家分:121
注 册:2010-1-23
第
4
楼
收藏
得分:5
对没错!楼上说的对!这个问题要值的我们这些菜鸟注意!
喜欢结交更多C语言学习者,QQ:1093027367
2010-01-23 16:15
举报帖子
使用道具
赠送鲜花
mickeycucu
等 级:
新手上路
帖 子:3
专家分:5
注 册:2010-1-23
第
5
楼
收藏
得分:5
我在学习c语言时考过类似的题目,后来也就不了了之了,我自己看书,说是编译器的问题,我才知道de
2010-01-23 16:36
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
m=(++i)+(++i)+(++i);
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019545 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved