作者kna8421 (萩旻)
看板C_Sharp
標題[問題] 關於未指定的區域變數
時間Fri Nov 19 13:37:34 2010
一直搞不懂在偵錯時出現的"未指定區域變數"到底是什麼意思
明明已經宣告過了...為什麼還是會出現這個問題冏"
我承認以下是作業範例..
(這樣應該不算是問作業吧XDDD 程式是自己打出來的..)
int[] a = new int[6];
int i,max,min ;
Console.WriteLine("輸入六組數字比大小:");
for(i=0 ; i<=5 ; i++)
{
a[i]=int.Parse(Console.ReadLine());
for(i=0 ; i<=5 ; i++)
{
if(a [i] > max) //這裡的max有問題..可是已經宣告過了ORZ
max=a[i];
if(a [i] < min) //這裡的min同上
min=a[i];
}
}
Console.WriteLine("最大={0},最小={1}",max,min);
Console.Read();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.105.105
1F:推 windsheep:你宣告是宣告了, 但還沒給過他值 11/19 13:49
2F:→ kna8421:可是我後來宣告max min都=0 也是一樣的情況 11/19 13:55
3F:→ kna8421:可以請問一下..什麼情形下需要給初值(做加減乘除運算嗎?) 11/19 13:56
4F:推 ngulin0911:第一層跟第二層的for迴圈不能都用i吧 11/19 14:10
5F:→ ssccg:未指定初始值,只有宣告是不能用的 11/19 14:17
6F:→ ssccg:所有變數都要先賦值過才能用 11/19 14:17
7F:→ ssccg:你指定min max後還不能用是因為你迴圈錯寫成兩層 11/19 14:19
8F:→ ssccg:在外層剛指定完a[0]的value後內層就去跑a[0] ~ a[5] 11/19 14:20
9F:→ ssccg:array後面其他值也是未初始化 11/19 14:21
10F:→ ssccg:兩個迴圈應該獨立就好,初值可以用int.MaxValue、MinValue 11/19 14:23
11F:→ kna8421:恩..知道了不知道為什麼這次RUN出來了..可是我寫錯了QAQ 11/19 14:24
12F:推 Deadshot465:回站內信給你囉 11/19 14:55
13F:推 Deadshot465:另外array宣告的時候會自動初始化吧... 11/19 14:58