| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13016 人关注过本帖
标题:q=(++j)+(++j)+(++j)怎么运算?
只看楼主 加入收藏
绿叶
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-6-10
收藏
得分:0 
VC好用还是TC好用啊
2008-06-13 11:06
puai21
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-13
收藏
得分:0 
这问题真奇怪~~~哪位高人能说下!!!!
q=(++j)(1)+(++j)(2)+(++j)(3)
首先(1)j先自加为6;
(2)中变为了(7),但是因为J在内存中是同一个位置(1)中J也变为了7
(3)在7的基础上变为了8,按道理来说前面的(1),(2)也变为8才对,而为什么前面的不变????
2008-06-13 11:16
puai21
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-13
收藏
得分:0 
这题我弄明白了~~~~~~~~~~~
这主要是程序本身的唯一性问题,在(1),(2)中本身内存覆盖了一次,在(3)就不再允许重复操作,但是还有点不能明白的就是本身定义的J只有一个,后面变化了的J到底放到内存哪去了?
2008-06-13 11:30
Thunderbird
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-13
收藏
得分:0 
尽量避免这种情况的出现 根据编译器的不同 结果也会不同
2008-06-13 12:07
wdayi520
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-12
收藏
得分:0 
在不同的编译器下运行,结果是不同的,但基本算法是相同的。(++j)是先自动+1后赋值给j,然后运算;(j++)是先运算后再自动+1后赋值给j。这要看你在什么环境下使用C语言,有的会得出18,有的会得出21,还有的会得出22。
2008-06-13 12:12
海底的龙
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-5-13
收藏
得分:0 
嗯,我看既然会出22的结果,也就会出32
2008-06-14 08:59
CLY风炎吹
Rank: 1
来 自:广东-揭西-河婆
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-6-12
收藏
得分:0 
24啊,j先 +1 3次之后再相加,应该是24

90后交流论坛:http://clycly./,欢迎大家光临
2008-06-14 14:18
ishiheiye
Rank: 1
来 自:江西南昌
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-14
收藏
得分:0 
是21吧

为技术而生\为技术而亡 `不为网络而生\不为网络而亡      。。。
2008-06-14 14:22
sskicgah
Rank: 1
来 自:漳州
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-1-12
收藏
得分:0 
搞晕了
2008-06-14 14:39
漫游者李李西
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-11-11
收藏
得分:0 
关于栈的问题,期待中。

2008-06-14 16:12
快速回复:q=(++j)+(++j)+(++j)怎么运算?
数据加载中...
 
   



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

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