작성
·
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와는 별개인 변수들을 입력받고 출력하셔야겟지요!)