2017-10-13 14 views
0

"알리지 않은 식별자 'a'사용"오류가 계속 발생합니다. 필자는 'a'를 0으로 선언 했으므로이를 설정해야합니다.C에서 선언되지 않은 식별자 'a'사용

int numOfBits(short num) 
{ 
    for(int a = 0; num; num >> 1){ 
     a += num & 1; 
    } 
    return a; 
} 
+5

선언을 'A는 외부 루프 – PeMaCN

+2

의 범위 변수 및 가시성에 대한 자세한 내용 –

답변

7

범위를 벗어났습니다.

int numOfBits(short num) 
{ 
    // Requires C99 for loop variable declaration 
    for(int a = 0; num; num >> 1) { // `a` declared *inside* the 
             // for loop block scope 
     a += num & 1; 
    } 
    return a;       // `a` is no longer in scope 
} 

그냥 선언 이사 :

int numOfBits(short num) 
{ 
    int a; 
    for(a = 0; num; num >> 1) { 
     a += num & 1; 
    } 
    return a; 
}