| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1024 人关注过本帖
标题:[求助]我是新手//请教一个中等题
只看楼主 加入收藏
v1v1wang
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-3-25
收藏
 问题点数:0 回复次数:14 
[求助]我是新手//请教一个中等题
#include "stdio.h"
void main()
{int i1=3,i2=3,j1,j2;
j1=++i1+(++i1)+(++i1);
prinf("i1=%d,j1=%d\n",i1,j1);
j2=++i2+(++i2)+(++i2);
prinf("i2=%d,j2=%d\n",i2,j2);
}
这在TC下输出
i1=6,j1=18 i2=6,j2=9
在vc下输出
i1=6,j1=16 i2=6,j2=9

有那位大哥可以说明为什么啊..谢谢啊...
搜索更多相关主题的帖子: include 大哥 
2007-03-29 16:17
蚂蚁啃骨头
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-3-14
收藏
得分:0 

不可能吧!如果是编译器的问题的话j1和j2运行后的结果都不一样吧!是不是弄错了,我这里没vc所以不能你运行看看.我也搞不懂那问题.期待高手的解答!!


人生就像没有BACK键的浏览器,一旦选择了一个链接,就无法再回头。
2007-03-29 16:54
蚂蚁啃骨头
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-3-14
收藏
得分:0 
有人说是因为没有对j1 j2 初始化
有人说是编译器的问题
这个问题也没什么好讨论的,就这么吧!


人生就像没有BACK键的浏览器,一旦选择了一个链接,就无法再回头。
2007-03-29 17:02
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
确实奇怪,谁能给个说法

英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-03-29 17:10
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
j2=++i2+(++i2)+(++i2);
这一类的运算式的运算顺序是由编译器决定,
在平时编程时不应该用这样的表达式,并且一般也没人这样写
也只有考试会考

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-29 17:37
yh1
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-29
收藏
得分:0 

奇怪 我用WIN-TC结果是

i1=6,j1=18 i2=6,j2=18


Thinking one minute is better than talking an hour!!!
2007-03-29 17:51
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
#include "stdio.h"
void main()
{int i1=3,i2=3,j1,j2;
j1=++i1+(++i1)+(++i1);
printf("i1=%d,j1=%d\n",i1,j1);
j2=++i2+(++i2)+(++i2);
printf("i2=%d,j2=%d\n",i2,j2);
getch();
}
结果:
i1=6,j1=18
i2=6,j2=18

这是在TC2.0的运行结果.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-29 17:52
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
这种表达式我以后都不解释了,只建议一下不要用就是了

雁无留踪之意,水无取影之心
2007-03-29 17:53
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
在VC++上运行结果:
i1=6,j1=16
i2=6,j2=16

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-29 17:54
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
在TC中
j1=++i1+(++i1)+(++i1);
括号优先级高,--->j1=++i1+i1+(++i1) 这时i1的值为4
--->j1=++i1+i1+i1 这时i1的值为5
--->j1=i1+i1+i1 这时i1的值为6 --->j1=18

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-29 18:04
快速回复:[求助]我是新手//请教一个中等题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024838 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved