ANDROID家園
DoubleW學習樂園
C++博客
首頁
新隨筆
聯系
聚合
管理
posts - 12, comments - 21, trackbacks - 0
關于自增自減的小問題
int
a
=
21
,b
=
11
;
cout
<<
(
--
a
+
b)
<<
"
,
"
<<
(
--
b
+
a);
為什么運行結果是"30,31"啊???
急急急。。。。。。。。
posted on 2011-06-09 12:40
DoubleW
閱讀(2587)
評論(12)
編輯
收藏
引用
FeedBack:
#
re: 關于自增自減的小問題
2011-06-09 13:52 |
K.V
事實上我用vs2008,輸出是30,30
不過據說<<的計算順序是未定義的,可能是從左向右,可能從右向左,看編譯器的實現
不過30,30這個結果,我百思不得其解。
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 13:56 |
陳梓瀚(vczh)
@K.V
不僅<<沒定義(事實上vs2010debug+從左到右release+從右到左),而且兩個--和兩個<<之間的順序也沒有準確定義……
所以一般來說我們認為,如果一個語句里出現了i++,那么這個語句里面唯一能出現i的地方就在這里。文章里面的例子違反了這個不成文的守則。
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 13:57 |
lugesot
http://apps.hi.baidu.com/share/detail/33574874
參考下這個,明白運行順序,左值和右值,你也應該明白了。
我的運行結果也是30,30.
個人覺得深究沒有太大意義。
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 14:00 |
K.V
@陳梓瀚(vczh)
恩。正常的程序是不應該存在這樣的編碼習慣的。不研究了。
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 16:24 |
DoubleW
我也不想去研究啊 ,考試的時候就是有這樣的題目,讓人死啊...
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 17:02 |
邱震鈺(zblc)
在gcc下,是30,31
在vs08下,是30,30
其實還有更多詭異的事情....
在vs08下 如果隨便寫一個
int fuck(int t)
{
cout<<t<<endl;
return t;
}
int main()
{
int t=4,k;
(double)fuck(++t)/fuck(++t);
k=(double)fuck(++t)/fuck(++t);
}
有沒有加'k=' 會影響到編譯器是否同步傳入的實參.............
換句話說,如果fuck的返回值不會被用到,則t不同步,否則,同步.......
gcc就沒這個問題。
考試之前,你熟悉下你們題庫是基于哪一個編譯器的哪個版本,然后摸清了它的脾氣,針對性的來用規律,就ok.
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 19:23 |
airtrack
標準沒有規定先對哪個求值,完全由編譯器決定,而對于這種標準未定義的東西,沒必要去浪費時間,你只需知道求值順序不確定就行,在實際編碼中就不應該出現這樣的代碼。
PS:其實你可以BS下出這種題目的人。
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 19:42 |
DQW
嗯,也曾經頭痛這個問題
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-09 20:23 |
DoubleW
@邱震鈺(zblc)
我們用的VC++ 6.0;
算了,不去糾結了,背答案....謝謝!
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-10 10:46 |
Bill Hsu
LZ是 wangwang對吧 :-)
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-10 17:12 |
DoubleW
@Bill Hsu
不愧是強哥阿!!!
回復
更多評論
#
re: 關于自增自減的小問題
2011-06-11 08:10 |
jc_ontheroad
這么簡短的兩行語句,也是機關重重。
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 DoubleW Powered By:
博客園
模板提供:
滬江博客
<
2011年6月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(12)
2011年10月 (1)
2011年6月 (6)
2011年5月 (5)
文章檔案
(2)
2011年5月 (2)
最新隨筆
1.?Android平臺常見屬性集合
2.?打開和關閉WIFI 的代碼出現了問題 android
3.?關于自增自減的小問題
4.?實現四舍五入
5.?3D游戲開發學習書(轉自billhsu)---留著有時間看看
6.?C++中const和C的#define區別
7.?構造函數和析構函數調用問題
8.?C++基礎學習筆記(5)---面向對象(測試題)
9.?C++ 基礎學習筆記(4)---循環控制結構(測試題)
10.?C++基礎學習筆記(3)--指針(測試題)
搜索
積分與排名
積分 - 28947
排名 - 662
最新隨筆
1.?Android平臺常見屬性集合
2.?打開和關閉WIFI 的代碼出現了問題 android
3.?關于自增自減的小問題
4.?實現四舍五入
5.?3D游戲開發學習書(轉自billhsu)---留著有時間看看
6.?C++中const和C的#define區別
7.?構造函數和析構函數調用問題
8.?C++基礎學習筆記(5)---面向對象(測試題)
9.?C++ 基礎學習筆記(4)---循環控制結構(測試題)
10.?C++基礎學習筆記(3)--指針(測試題)
最新評論
1.?re: 關于自增自減的小問題
這么簡短的兩行語句,也是機關重重。
--jc_ontheroad
2.?re: 關于自增自減的小問題
@Bill Hsu
不愧是強哥阿!!!
--DoubleW
3.?re: 關于自增自減的小問題
LZ是 wangwang對吧 :-)
--Bill Hsu
4.?re: 關于自增自減的小問題
@邱震鈺(zblc)
我們用的VC++ 6.0;
算了,不去糾結了,背答案....謝謝!
--DoubleW
5.?re: 關于自增自減的小問題
嗯,也曾經頭痛這個問題
--DQW
閱讀排行榜
1.?構造函數和析構函數調用問題(3266)
2.?C++基礎學習筆記(5)---面向對象(測試題)(2720)
3.?關于自增自減的小問題(2587)
4.?實現四舍五入(2578)
5.?打開和關閉WIFI 的代碼出現了問題 android (2554)
評論排行榜
1.?關于自增自減的小問題(12)
2.?C++中const和C的#define區別(3)
3.?構造函數和析構函數調用問題(2)
4.?C++ 基礎學習筆記(2)---函數(測試題)(2)
5.?實現四舍五入(2)
亚洲一本综合久久
|
久久精品国产亚洲精品
|
日韩人妻无码精品久久久不卡
|
久久婷婷午色综合夜啪
|
久久久久亚洲?V成人无码
|
久久久久久久综合日本
|
青青草国产97免久久费观看
|
欧美亚洲国产精品久久高清
|
色综合合久久天天综合绕视看
|
国产精品99久久久久久人
|
久久精品国产国产精品四凭
|
久久这里只有精品首页
|
999久久久国产精品
|
亚洲伊人久久综合影院
|
国产午夜福利精品久久
|
久久九九免费高清视频
|
久久无码人妻一区二区三区
|
性做久久久久久免费观看
|
亚洲AV无码一区东京热久久
|
久久久久99精品成人片三人毛片
|
欧美精品一区二区久久
|
久久丫精品国产亚洲av不卡
|
国产成年无码久久久免费
|
精品久久久无码中文字幕
|
中文字幕无码久久精品青草
|
色成年激情久久综合
|
国产V综合V亚洲欧美久久
|
麻豆一区二区99久久久久
|
久久久久亚洲av毛片大
|
久久国产乱子精品免费女
|
91视频国产91久久久
|
97久久婷婷五月综合色d啪蜜芽
|
国产精品成人精品久久久
|
99久久99久久
|
午夜精品久久久久久久
|
影音先锋女人AV鲁色资源网久久
|
久久伊人亚洲AV无码网站
|
久久青青国产
|
亚洲国产成人精品无码久久久久久综合
|
亚洲伊人久久成综合人影院
|
久久精品无码专区免费青青
|