일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- php 프로그래밍 입문 예제
- 배열
- 최단 경로
- php 프로그래밍 입문 문제풀이
- 파이썬
- php
- Flutter
- 페이코 초대코드
- 플러터
- php 프로그래밍
- Java
- php 프로그래밍 입문
- 페이코 추천인
- JAVA SPRING
- SWEA
- C언어
- 페이코 친구코드
- php 프로그래밍 입문 솔루션
- programmers
- C
- 백준
- 스프링
- spring
- 페이코 추천인코드
- php 프로그래밍 입문 3판
- 자바 스프링
- 자바
- 플러터 개발환경 설정
- 한정 분기
- php 프로그래밍 입문 연습문제
Archives
- Today
- Total
01-20 19:09
ImJay
[C언어] 백준 10951번 : A+B - 4 본문
반응형
백준 10951번 : A+B - 4
- 사용언어 : C언어
1. 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
2. 코드
#include <stdio.h>
int main(void) {
int a,b;
while(scanf("%d %d", &a, &b)!=EOF) {
printf("%d\n", a+b);
}
}
3. 풀이
문제를 읽고 처음엔 조건이 사라져서 이게 왜 10952번보다 뒤에 있을까 개꿀이다~하고 풀었는데 출력초과..
여러분도 저처럼 뉴비시라면 이 문제를 검색한 것에 부끄러워하지 마세요.
어떻게하면 풀 수 있을까 고민하다가 결국 EOF를 모르면 못 풀었다는..
scanf가 while문안에 들어 갈 수 있다는 사실도 처음 알았네요.
C언어는 운영체제와 상관없이, 파일의 끝에 도달했을 때 언제나 특별한 값을 반환하도록 합니다.
EOF는 End Of File의 약자로 파일의 끝을 표현하기 위해 -1로 정의된 상수입니다.
즉, scanf("%d %d", &a, &b)!=EOF의 의미는 파일의 끝에 도달할 때까지 while문을 실행한다는 의미입니다.
출력초과가 나왔던 이유는 우리가 while문의 끝을 정해놓지 않았기 때문에 scanf가 무한루프 돌아서 메모리 할당 범위를 넘어섰기 때문이에요.
벌써 어렵다 ...ㅠ
반응형
'백준 - C, C++ > 04. while문' 카테고리의 다른 글
[C언어] 백준 1110번 : 더하기 사이클 (0) | 2020.09.24 |
---|---|
[C언어] 백준 10952번 : A+B - 5 (0) | 2020.09.24 |
Comments