搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ m=(++i)+(++i)+(++i);
标题:
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
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-296085-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.295634 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved