2016-10-11 4 views
-5
#include <stdio.h> 
#include <math.h> 

int main(void) 
{ 
    printf("Hello, World!\n"); 
    int n; 

    for(int i = 1; i<30; i++) 
    { 
     n = i*i+i+i+i+1; 
     printf("\n"); 
    } 

    return 0; 
} 

이 코드가 i의 모든 값에 대해 특정 숫자를 실행하도록합니다. 그러나 항상 664을 출력합니다. 그 이유를 아는 사람이 있습니까?이 루프는 항상 같은 숫자를 출력합니다 (iPad c 컴파일러)

+4

나는 오히려 hello world에 많은 수의 새로운 라인이 출력된다고 말하고 싶다. 실제 코드를 게시해라. – Lundin

+1

항상 664를 출력 하시겠습니까? 나는 심지어 당신이 출력을 쓰는 것을 보지 않는다. – Matriac

+0

[ask]와 [mcve]를 보라. – Mat

답변

4

정확하게 이해하면 n을 인쇄하는 것을 잊었을 것 같습니다.

printf("\n"); 명령은 새 행만 인쇄해야합니다.

대신 시도 : printf("%d\n",n);.

당신이 C99 모드를 설정하여 컴파일나요

"루프 초기 선언 '에 대한'C99 모드 외부에서 사용 오류"

0

는 코드와

printf("%d\n",n); 

내가 컴파일 오류가있어 추가? 성공적으로 컴파일 후

-std=c99 

를 사용하여

(참고 : 위의 printf 라인을 추가) 실행에 다른 값을 얻었다.

관련 문제