작성한 질문수
홍정모의 따라하며 배우는 C언어
6.1 while 반복 루프에서 scanf()의 반환값 사용하기
작성
·
162
0
int a = 0;
int b = 0;
int c = 0;
c = scanf("%d", &a);
printf("%d\n", c);
이렇게하면 c가 입력받은 숫자가 들어가야될거같은데 찍어보면 항상 c는 1이나오는이유를 모르겠습니다...
a에다가 3을넣거나 2를넣거나 4를넣거나 어떤숫자를 넣으면 scanf로 그 값을받아서 c에 대입했는데
왜 항상1이들어가는건가요...
답변 2
scanf 함수는 입력에 성공시킨 변수의 "개수"를 리턴하는 함수입니다. 입력 받은 숫자를 리턴하는 함수가 아닙니다. scanf는 a "한 개"에 입력을 성공했으니 늘 1을 리턴하는 것입니다. 입력 받은 것을 출력하시려면 그냥 a 변수 값을 출력하시면 되요!
힌트] 마지막 printf에서 a를 출력해보세요.