| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 482 人关注过本帖
标题:i++的问题
只看楼主 加入收藏
gao_guai
Rank: 2
等 级:论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
收藏
 问题点数:0 回复次数:7 
i++的问题
int i=3,j,k;
j=(i++*i++);

为什么i=5,j=9?i的值是什么时候加1,前后两个i++,谁先加,谁后加?
2012-06-07 22:14
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:0 
i++的意思是所有的计算先按照i以前的值计算 然后再在i后面加1  俩个i都是计算完后再加 其实是一个i

[ 本帖最后由 阿鞠尼 于 2012-6-7 22:31 编辑 ]

喜欢睡觉 却经常熬夜
2012-06-07 22:30
gao_guai
Rank: 2
等 级:论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
收藏
得分:0 
回复 2楼 阿鞠尼
我晓得,只是j=9,意味着是3*3,那i的值是何时加到5的?
2012-06-07 22:31
JUao067
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-6-7
收藏
得分:0 
i++说明运算时,i的值先参与运算,然后i自身的值再加1。因此先进行运算j=3*3,然后进行运算i=i+1,进行两次,所以i的值变为5;
2012-06-07 22:46
JollyRoger
Rank: 2
等 级:论坛游民
帖 子:14
专家分:32
注 册:2012-5-28
收藏
得分:0 
以下是引用gao_guai在2012-6-7 22:31:47的发言:

我晓得,只是j=9,意味着是3*3,那i的值是何时加到5的?
i++*i++,计算了两次+1啊
2012-06-07 23:13
never_yzq
Rank: 4
等 级:业余侠客
帖 子:112
专家分:213
注 册:2012-5-25
收藏
得分:0 
很简单,i++优先级比*高,所以先计算i++,i++先给等式赋值,再自增,例如:i=2,x=i++;先给x赋值所以x=2,然后i进行自增,i就等于3,然后i++*i++=9,这里要说i同时进行自增!
至于i为什么变成5,因为之前进行了俩次i++,所以变成5!、
不知说清楚没,我也是新手,共同学习,共同进步!
希望对你有帮助!
2012-06-07 23:16
wangyunzhong
Rank: 2
等 级:论坛游民
帖 子:16
专家分:13
注 册:2012-6-6
收藏
得分:0 
多写几个语句分开就好了
不要搞这么复杂
这也不是牛B的表现
好的代码是简单易懂又让人拍案叫绝的!
2012-06-08 00:08
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
你用vc?那就;后++的!!!

Stay hungry , Stay foolish!
2012-06-08 00:46
快速回复:i++的问题
数据加载中...
 
   



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

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