2016-08-02 3 views
-1

패턴을 생성하는이 코드 스 니펫.배열 유형이 패턴 일치를 위해 불완전한 요소 유형을 가짐

"배열 유형에 불완전한 요소 유형이 있습니다"오류가 표시됩니다! 어디로 잘못 가고 있니?

int main(){ 
int n; 
char a[][]; 
scanf("%d",&n); 

for (int i =0; i<n; i++) 
{ 
for (int j=0; j<i; j++) 
    { 
     if(i>=j) 
      a[i][j] = "#"; 
     else 
      a[i][j]=" "; 
    } 
} 
return 0; 
} 
+4

어떤 라인에 오류가 있는지 확인하려면 시간을 투자 했습니까? –

+1

배열의 크기가 없습니다. –

+3

@Linus Choudhury 사용 된 언어를 지정하십시오. –

답변

0
char a[][]; 

당신은 선언 배열의 크기를 결정하지 않는다 (이 왜 오류입니다). 배열을 선언하는 동안 크기를 지정해야합니다.

char a[10][10]; // or something 

크기를 지정하려면 동적으로 포인터를 사용하거나 VLA를 사용하십시오.

1

배열

char a[][]; 

이 선언은 무효이다. 각 차원의 요소 수는 알 수 없습니다.

C 프로그램 인 경우 가변 길이 배열을 사용할 수 있습니다. 예를 들어

int main(void) 
{ 
    int n; 

    scanf("%d",&n); 

    char a[n][n]; 

    //... 

이 조건 것을 고려

if(i>=j) 

내부 루프가

for (int j=0; j<i; j++) 
       ^^^^ 

같이 정의되어 있기 때문에 항상 내부 J보다 더 큰 내가입니다되는 이해가되지 않습니다 루프 몸체.

관련 문제