2014-09-20 7 views
0

프로그램 : 나는 모든 유형의 데이터와 프로그램을 실행하면반복 나는 다음과 같은 코드를 작성했습니다

#include <stdio.h> 

/* max_number.c: outputs the largest number of five numbers entered */ 

void main(void) { 
    int i, num, max; 

    for (i = 1; i <= 5; i++) { 
    printf("Enter a number: "); 
    scanf("%d", &num); 

    if (num >= max) 
     max = num; 
    } 
    printf("The maximum number is %d\n", max); 
} 

나는 계속 "최대 수는 14입니다"얻는다. 누군가 내가 잘못하고있는 방향으로 나를 가리켜 주시겠습니까? 고맙습니다!

답변

4

변수 max이 초기화되지 않았습니다.

정확히

int i, num, max = INT_MIN; 
+0

보십시오. 14는 결정 론적 어딘가에서 왔지만, 그것은 초기화되지 않은 값입니다. – Holly

+0

흥미 롭습니다. 왜 최대 값을 초기화하지 않으면 프로그램이 저에게 그런 종류의 출력을주게됩니까? 고맙습니다! – user3727648

+0

@ user3727648 초기화되지 않은 변수에는 여전히 값이 있습니다. 나는 당신의 경우에 '최대'가 단지 가치 '14'를 가지면 나는 놀라지 않을 것이다. 입력 한 내용이 모두 '14'보다 작거나 같으면 최종 결과입니다. – AlexD

관련 문제