2015-11-20 57 views
-1

爲什麼這段代碼拋出異常?Int數組拋出c異常#

int n = 10; 
int[] arr = null; 
for (int i = 0; i < n; i++) 
{ 
     arr[i] = i * 2; 
} 

任何人都可以幫忙嗎?

+1

你聲明一個數組是'null',然後你試圖修改它的元素。 –

+0

你的數組是null,你不能循環任何東西。 – Dhunt

回答

2

你必須init您的陣列的第一int[] arr = new int[n];

  int n = 10; 
      int[] arr = new int[n]; 
      for (int i = 0; i < n; i++) 
      { 
       arr[i] = i * 2; 
      } 
+0

謝謝工作...... –

0

你必須初始化數組。這也必須是一個固定大小的,你不能展開借給一個數組的像您可以用List

你可以這樣做:

int n = 10; 
int[] arr = new int[n]; 
for (int i = 0; i < n; i++) 
{ 
    arr[i] = i * 2; 
} 

這將初始化長度爲10的數組,然後填充數字。 或者一個列表:

int n = 10; 
List<int> arr = new List<int>(); 
for (int i = 0; i < n; i++) 
{ 
    arr.Add(i * 2); 
} 

通知我們喜歡,我們爲數組做不定義列表的長度。然後,我們繼續添加元素,而不是最多n個元素。

0

你必須用已定義的值而不是null來聲明一個新的數組。像下面的代碼一樣。 :)。

int n = 10; 
int[] arr = new int[n]; 
for (int i = 0; i < n; i++) 
{ 
     arr[i] = i * 2; 
}