2016-11-03 6 views
-1
int NumOfCourses = 0; 
int i = 0; 
int total = 0; 

int main() 
{ 
printf("How many courses"); 
scanf_s("%d", NumOfCourses); 
for (i = 0; i < NumOfCourses; i++) 
{ 
    total += i; 
} 

int Courses[i][3]; 

定数ではないので、配列の行の値としてiを使用することはできません。行の量に対するユーザーの入力に依存する多次元配列を作成するにはどうすればよいですか?

+0

[Cで動的多次元配列を使用するにはどうすればよいですか?](http://stackoverflow.com/questions/917783/how-do-i-work-with-dynamic-multi-dimensional- array-in-c) –

+0

は動作するようです:http://ideone.com/6qIx31 VLAです。 – mch

+0

どのコンパイラを使用していますか? – user3386109

答えて

1

使用した構成は、可変長配列(VLA)と呼ばれています。 C99コンパイラでは必須で、C11コンパイラではオプションです。古いバージョンのC(K &%、C89、C90、C95)はVLAを認識しません。したがって、それはあなたのコンパイラが従う標準に依存します。多くの場合、コンパイラは複数のバージョンを認識しており、標準を選択することができます。 -std=c99オプションをお試しください。

関連する問題