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
閱讀(2609)
評論(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:
博客園
模板提供:
滬江博客
<
2025年8月
>
日
一
二
三
四
五
六
27
28
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
31
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(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)--指針(測試題)
搜索
積分與排名
積分 - 29232
排名 - 664
最新隨筆
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.?構造函數和析構函數調用問題(3288)
2.?C++基礎學習筆記(5)---面向對象(測試題)(2749)
3.?關于自增自減的小問題(2609)
4.?實現四舍五入(2601)
5.?打開和關閉WIFI 的代碼出現了問題 android (2568)
評論排行榜
1.?關于自增自減的小問題(12)
2.?C++中const和C的#define區別(3)
3.?構造函數和析構函數調用問題(2)
4.?C++ 基礎學習筆記(2)---函數(測試題)(2)
5.?實現四舍五入(2)
精品人妻伦九区久久AAA片69
|
久久99久久成人免费播放
|
国产精品久久久久久吹潮
|
青青热久久综合网伊人
|
亚洲日韩欧美一区久久久久我
|
亚洲va久久久噜噜噜久久
|
久久亚洲综合色一区二区三区
|
亚洲日本va午夜中文字幕久久
|
国产精品久久久久久搜索
|
四虎影视久久久免费观看
|
99国产欧美精品久久久蜜芽
|
久久99亚洲综合精品首页
|
久久久噜噜噜久久熟女AA片
|
久久露脸国产精品
|
高清免费久久午夜精品
|
亚洲精品tv久久久久久久久
|
久久人妻少妇嫩草AV蜜桃
|
久久久久亚洲av无码专区喷水
|
国产精品亚洲美女久久久
|
日日躁夜夜躁狠狠久久AV
|
亚洲午夜无码久久久久小说
|
久久激情五月丁香伊人
|
狠狠色丁香婷婷综合久久来
|
欧美va久久久噜噜噜久久
|
亚洲äv永久无码精品天堂久久
|
久久久久亚洲AV无码永不
|
久久免费视频1
|
久久天天躁狠狠躁夜夜不卡
|
久久精品国产亚洲麻豆
|
久久精品中文闷骚内射
|
少妇高潮惨叫久久久久久
|
综合网日日天干夜夜久久
|
久久综合偷偷噜噜噜色
|
日韩一区二区三区视频久久
|
日韩AV无码久久一区二区
|
国产精品久久久久蜜芽
|
人妻少妇精品久久
|
色欲综合久久躁天天躁
|
色青青草原桃花久久综合
|
国产成人精品三上悠亚久久
|
亚洲乱码日产精品a级毛片久久
|