• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

getchar() 질문

21.04.15 21:36 작성 조회수 185

0

float min = FLT_MAX;

float max = -FLT_MAX;

float sum = 0.0f;

float num=0.0f;

int n = 0;

while (getchar(num) != 'q')

{

max = (num > max) ? num : max;

min = (num < min) ? num : min;

sum += num;

n++;

}

if (n > 0)

printf("min =%f, max=%f, ave=%f", min, max, sum / n);

else

printf("no input");

제가 이렇게 실행을 하였더니

min =0.000000, max=0.000000, ave=0.000000 이렇게 나와서 

디버그를 해봤더니 getchar(num)가 실행돼서 숫자가 입력되어도

 max, min의 값은 안 바뀌고 초기화된 0을 계속 유지하더라고요 왜 그러는 건가요?

뭐가 잘못 되었나요?

답변 1

답변을 작성해보세요.

0

1. 컴파일 오류가 없나요? 

2. 구글에서 getchar를 검색해서 나오는 예제를 보고 뭐가 다른지 찾아보세요. 예를 들어서 아래 페이지(검색하면 많이 나오는 페이지 입니다)의 Example에서 getchar를 어떻게 사용하고 있는지 비교해보세요.

https://www.tutorialspoint.com/c_standard_library/c_function_getchar.htm