• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

regular characters에 관한 질문입니다

21.01.20 13:08 작성 조회수 87

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

안소님의 프로필

안소

2021.01.20

안녕하세요.

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

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

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

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

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