2013-10-02 1 views
-5
if (choice==1) 

    for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
     masivs[i][j]=rand(); 
     printf("Sakummasivs: \n"); 
      for(i=0;i<r;i++) 
      { 
      for(j=0;j<c;j++) 
      printf("%7d", masivs[i][j]); 
      printf("\n"); 
      } 
     else if (choice==2) 
     { 
     printf("Ievadiet skaitlus\n"); 

     for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
     { 
     masivs[i][j]=choice; 
     } 
     } 
     else 
     for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
     masivs[i][j]=rand(); 
     printf("Sakummasivs: \n"); 
      for(i=0;i<r;i++) 
      { 
      for(j=0;j<c;j++) 
      printf("%7d", masivs[i][j]); 
      printf("\n"); 
      } 

오류는이 라인에 있지만 루프예상되는 주요 표현은 전에 "다른"

for(i=0;i<r;i++){ 

에 대한

else if (choice==2) 
+0

결석 '}'을 놓칠 수 있습니까? – P0W

+0

'else if'를 넣기 전에 'i'에 대한 for 루프를 닫아야합니다. –

+2

탭핑이 끔찍합니다. 또한,'if' /'for'에 의해 하나 이상의 라인이 실행되기를 원한다면, 코드는 블록'{''}'에 있어야합니다. –

답변

2

이것은 닫는 중괄호를 필요로하는 이유는 이해가 안 돼요.

일관된 들여 쓰기를 사용하면 분명합니다. {} 문제에 의해 정의

0

범위 :

if (choice==1) 
    for(i=0;i<r;i++) { 
     ... 
     for(i=0;i<r;i++) 
     { 
      ... 
     } 
else if (choice==2) 
    ... 
    } 

가되어야한다 :

if (choice==1) { 
    for(i=0;i<r;i++) { 
     ... 
     for(i=0;i<r;i++) 
     { 
      ... 
     } 
    } 
} 
else if (choice==2) { 
    ... 
} 
0

첫째, 나는 C-꽤 프린터를 제안합니다. 그런 다음 논리적으로 필요한 곳에 왼쪽 및 오른쪽 중괄호를 뿌려야 할 수 있습니다. 하나의 추측은 중괄호 접두사 앞에 "//"주석을 제거하여 다음과 같을 것입니다.

if (choice==1) 
//{ 
    for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
      masivs[i][j]=rand(); 
     printf("Sakummasivs: \n"); 
     for(i=0;i<r;i++) 
     { 
      for(j=0;j<c;j++) 
       printf("%7d", masivs[i][j]); 
      printf("\n"); 
     } 
    //} 
//} 
else if (choice==2) 
{ 
    printf("Ievadiet skaitlus\n"); 

    for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
     { 
      masivs[i][j]=choice; 
     } 
    } 
    else 
    //{ 
     for(i=0;i<r;i++){ 
      for(j=0;j<c;j++) 
       masivs[i][j]=rand(); 
      printf("Sakummasivs: \n"); 
      for(i=0;i<r;i++) 
      { 
       for(j=0;j<c;j++) 
        printf("%7d", masivs[i][j]); 
       printf("\n"); 
      } 
     //} 
    //} 
//} 

이렇게하면 구문 상 올바르지 만 어쩌면 의미 상 올바르지 않을 수 있습니다.

if (choice==1) 
{ 
    for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
      masivs[i][j]=rand(); 
     printf("Sakummasivs: \n"); 
     for(i=0;i<r;i++) 
     { 
      for(j=0;j<c;j++) 
       printf("%7d", masivs[i][j]); 
      printf("\n"); 
     } 
    } 
} 
else if (choice==2) 
{ 
    printf("Ievadiet skaitlus\n"); 

    for(i=0;i<r;i++){ 
     for(j=0;j<c;j++) 
     { 
      masivs[i][j]=choice; 
     } 
    } 
    else 
    { 
     for(i=0;i<r;i++){ 
      for(j=0;j<c;j++) 
       masivs[i][j]=rand(); 
      printf("Sakummasivs: \n"); 
      for(i=0;i<r;i++) 
      { 
       for(j=0;j<c;j++) 
        printf("%7d", masivs[i][j]); 
       printf("\n"); 
      } 
     } 
    } 
}