| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1703 人关注过本帖
标题:[求助]有关于自加自减的问题
只看楼主 加入收藏
hb4x
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-8-23
收藏
得分:0 
main()
{ int m=5;
if(m++>5) printf("%d\n",m);/*先比较m值,不管成立与否,再m++,m=6*/
else printf("%d\n",m--);/*如果上面判断不成立,输出m值,再m--*/
2006-08-23 23:13
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

我在 getch() 前面加了 cout << m << endl;
你沒有注釋的部分, 輸出的是 yes1
用你注釋的部分, 輸出的是 no1..

結果 m++ 還是要執行啊...
我怎麽感覺你說的和我說的有些出入啊


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-08-23 23:16
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 
第一次是用 if(m++<2) 的:
图片附件: 游客没有浏览图片的权限,请 登录注册


第二次是用 if(m<2, m++) 的:
图片附件: 游客没有浏览图片的权限,请 登录注册


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-08-23 23:23
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

-------------------
我錯了, if(m++>5) 與 if(m>5, m++) 是不等價的.

在這裏我很感謝 穆楊... ,他的一句話解開了我的疑惑:
"m++>5 這個運算式的值是 m>5; m>5, m++ 這個(逗號)運算式的值是 m"

看來這句話是最好的解釋了.


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-08-24 01:24
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-24 01:28
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用yeshirow在2006-8-24 1:24:54的发言:

-------------------
我錯了, if(m++>5) 與 if(m>5, m++) 是不等價的.

在這裏我很感謝 穆楊... ,他的一句話解開了我的疑惑:
"m++>5 這個運算式的值是 m>5; m>5, m++ 這個(逗號)運算式的值是 m"

看來這句話是最好的解釋了.

呵呵,争了半天,原来您是这个不明白,不过我很失望你不感谢我
是不是妹妹的脾气都这样怪哪!不过您学到新东西就好。


对不礼貌的女生收钱......
2006-08-24 08:31
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
答案错了,别买盗版书了

我就是程序,程序就是我,我还能退出程序吗?!
2006-08-24 10:09
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
[讨论]
以下是引用soft_wind在2006-8-23 19:28:34的发言:
已經說過 if(m++>5) 相當於 if(m>5, m++)
前者:
if(m>5)

m++;  
do something;

后者:
if(m!=0)
{
m++;
do something;
}
两者不同。

这样的解释是最合理的了!


我就是程序,程序就是我,我还能退出程序吗?!
2006-08-24 10:25
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
以下是引用hb4x在2006-8-23 23:13:47的发言:
main()
{ int m=5;
if(m++>5) printf("%d\n",m);/*先比较m值,不管成立与否,再m++,m=6*/
else printf("%d\n",m--);/*如果上面判断不成立,输出m值,再m--*/

看来这个解释是最妥当的了.

2006-08-24 22:18
快速回复:[求助]有关于自加自减的问题
数据加载中...
 
   



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

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