作者dendrobium (石斛蘭)
看板C_and_CPP
標題Re: [問題] int小問題
時間Tue May 25 02:12:19 2010
推文有個地方講錯了
※ 引述《a77d4e06 (喵~>"<||)》之銘言:
: DEV C++
: int x1=0;
: while ( x1 != 5 )
: {
: int x1 = x1 + 1;
^^ ^^
這兩個x1其實是同一個, 但不同於外面那個x1
也就是說x1其實是在未初始化的情況下被使用
其結果未定義
: cout<<x1<<endl;
: }
: 為什麼while迴圈裡面加了INT後 ,他數字就會狂跑下去,
: 而不加INT他會正確跑出0~5。
: 以上 感謝
--
人家可不是為了你才這樣做的哦!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.77.194.81
推 loveflames:其實我沒實際跑過,只是直覺認為後面那個x1是外面的 05/25 02:30
推 v774455667:這樣寫不是會重複定義嗎? 裡面寫x1=x1+1可用++x代替? 05/25 03:25
推 ledia:不會重複定義, local var will shadow the global one 05/25 04:09
推 kavylin:int x1 = x1 + 1; // int x1; x1 = x1 + 1 05/25 15:03