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

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

Jang YouChang님의 프로필 이미지
Jang YouChang

작성한 질문수

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

6.1 while 반복 루프에서 scanf()의 반환값 사용하기

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

0

scanf 함수는 입력에 성공시킨 변수의 "개수"를 리턴하는 함수입니다. 입력 받은 숫자를 리턴하는 함수가 아닙니다. scanf는 a "한 개"에 입력을 성공했으니 늘 1을 리턴하는 것입니다. 입력 받은 것을 출력하시려면 그냥 a 변수 값을 출력하시면 되요!

0

홍정모님의 프로필 이미지
홍정모
지식공유자

힌트] 마지막 printf에서 a를 출력해보세요.

Jang YouChang님의 프로필 이미지
Jang YouChang

작성한 질문수

질문하기