자료형관련
이루리
#include stdio.h
int main()
{
float input = 0.0;
float total = 0.0;
int cnt = 0;
for(cnt=0; input=0.0; cnt++)
{
total += input;
printf(Input unsigned float(minus to quit) : );
scanf(%f, &input);
}
printf(AVERAGE : %f \n, total/cnt);
return 0;
}
/////////////////////////////////////////////////////////////////
#include stdio.h
int main()
{
double input = 0.0;
double total = 0.0;
int cnt = 0;
for(cnt=0; input=0.0; cnt++)
{
total += input;
printf(Input unsinged double(minus to quit) : );
scanf(%ld, &input);
}
printf(AVERAGE : %ld \n, total/cnt);
return 0;
}
위의 두 코드의 차이는 변수의 데이타형이 float이냐 double이냐의 차이입니다
두 번째 코드 9번째 라인에서 10.0을 입력하면 10.0이 입력되지 않는다. 왜 그런가요?
10을 입력할 때는 진행이 되는데 10.0을 입력하면 무한루프에 빠집니다. 왜 그런가요?
답변 부탁드립니다.
행복하세요.
-
사람
10.0으로 입력하시려면 %f로 받으셔야하지 않나요?
%d는 int형 %f는 float형 을 받을 때 사용하는 것으로 알고 있습니다만...