2016-11-03 2 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]; 

상수가 아니기 때문에 내 배열 행의 값으로 사용할 수 없습니다.사용자 입력에 의존하는 다차원 배열을 어떻게 만들 수 있습니까?

+0

[C에서 동적 다차원 배열로 어떻게 작업 할 수 있습니까?] (http://stackoverflow.com/questions/917783/how-do-i-work-with-dynamic-multi-dimensional- 배열 - in - c) –

+0

작동하는 것 : http://ideone.com/6qIx31 그것은 VLA입니다. – mch

+0

어떤 컴파일러를 사용하고 있습니까? – user3386109

답변

1

사용한 구성을 가변 길이 배열 (VLA)이라고합니다. C99 컴파일러의 경우 필수이며 C11 컴파일러의 경우 선택적입니다. 이전 버전의 C (K & %, C89, C90, C95)는 VLA를 모릅니다. 따라서 컴파일러가 어떤 표준을 따르 느냐에 따라 다릅니다. 종종 컴파일러는 둘 이상의 버전을 알고 있으며 표준을 선택할 수 있습니다. -std=c99 옵션을 사용해보십시오.