티스토리 뷰

1. 문제

https://www.acmicpc.net/problem/10951

 

2. 풀이

1) EOF 사용

#include <stdio.h>

int main(void) {
    int A, B;

    while (scanf("%d %d", &A, &B) != EOF) {
        printf("%d\n", A+B);
    }
}

 

2) 정수 -1 사용

#include <stdio.h>

int main(void) {
    int A, B;

    while (scanf("%d %d", &A, &B) != -1) {
        printf("%d\n", A+B);
    }
}

 

3. 참고

- scanf로 입력하기

  • format-string을 왼쪽에서 오른쪽으로 읽는다.
  • stdin의 문자가 format-string과 충돌하면, scanf()가 종료된다. (잘못된 타입을 입력하면 scanf 동작이 중단된다는 뜻)
  • 형식 스펙보다 더 많은 인수가 있는 경우, 추가 인수는 무시된다.

- scanf의 리턴값(반환값)

  • 변환되고 지정된 필드 수를 리턴한다.(입력 개수를 리턴한다는 뜻)
  • 리턴값은 읽히지만 지정되지 않은 필드를 포함하지 않는다.(제대로 입력된 것만 포함한다는 뜻)
  • 변환이 수행되지 않은 경우 리턴 값은 EOF(End Of File), 즉 정수 -1이다.
  • 0의 리턴값은 지정된 필드가 없음을 나타낸다.

 

 

- 출처(IBM)

https://www.ibm.com/docs/ko/i/7.3?topic=functions-scanf-read-data

 

scanf() — 데이터 읽기

설명 scanf() 함수는 표준 입력 스트림 stdin로부터 argument-list에서 각 항목에 의해 지정된 위치로 데이터를 읽습니다 . 각 argument은 format-string에서 양식 지정자에 해당되는 유형을 가진 변수에 대한

www.ibm.com

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함