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

이승환님의 프로필 이미지
이승환

작성한 질문수

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

4.10 scanf() 함수의 사용법

regular characters에 관한 질문입니다

작성

·

123

0

int a, b;

scanf("%d ,%d", &a,&b); //1

scanf("%dA %d", &a,&b); //2

printf("%d %d\n", a, b); //3

printf("%d %d\n", a, b); //4

 이렇게 디버깅을 하면 1번 3번에 대응하고 2번이 4번에 대응할줄 알았는데  3번 4번이 모두 %dA %d로 출력이 되더라고요 ㅠㅠ  printf함수는 원래 최근의 scanf함수만 출력하는건가요?

답변 1

0

안녕하세요.

1번 scanf 에서 a와 b에 입력을 받으셨죠

그리고 2 번 scanf 에서 a 와 b 에 또 입력 받으셨으니 a 와 b 는 이 2번 scanf 입력으로 인해 덮어씌워집니다. 

2번 scanf에서 입력한 값으로 a와 b 값이 최종적으로 정해지게 된거죠

두 printf는 a와 b의 값을 그대로 출력해준 것 뿐이에요.

( 대응되게 하고싶으시다면 2번, 4번엔 a, b와는 별개인 변수들을 입력받고 출력하셔야겟지요!)

이승환님의 프로필 이미지
이승환

작성한 질문수

질문하기