인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

qpalz님의 프로필 이미지
qpalz

작성한 질문수

홍정모의 따라하며 배우는 C언어

7.11 최대, 최소, 평균 구하기 예제

getchar() 질문

작성

·

239

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

qpalz님의 프로필 이미지
qpalz

작성한 질문수

질문하기