방명록
- [백준] 1000 - A + B2024년 12월 11일 17시 31분 36초에 업로드 된 글입니다.작성자: Le마리
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
#include <iostream> // 입력과 출력을 위한 헤더 파일 int main() { int A; int B; std::cin >> A, B; std::cout << A + B << std::endl; }
💡왜 코드가 실행이 안될까?
⦁
std::cin >> A,B;
이 부분은 >> 연산자와 쉼표 연산자가 섞여 있다.C++에서 쉼표(,)는 순서를 나열하는 연산자로 동작한다.
따라서 B는 cin으로 값을 입력받는 게 아니다!
⦁ 이 코드는 이렇게 해석된다.
1.
std::cin >> A
: A에 입력값을 받아라.2.
, B
: 쉼표 뒤의 B는 그냥 아무 값도 안 들어간 상태로 넘어가라.결과적으로, A는 값을 잘 입력받지만 B는 초기화되지 않고 그대로 남아 있기 때문에, 컴파일러가 "B가 초기화되지 않았다" 는 경고를 내는 것이다.
올바른 코드#include <iostream> // 입력과 출력을 위한 헤더 파일 int main() { int A; int B; std::cin >> A >> B; std::cout << A + B << std::endl; }
== 결과 ==
정답은 아니지만,
▶️ 번외 : 조건이 있을 경우 ⥤ if문 이용
( 0 < A, B < 10 )
#include <iostream> // 입력과 출력을 위한 헤더 파일 int main() { int A; int B; std::cin >> A >> B; if (A > 0 && B < 10) { std::cout << A + B << std::endl; } else { std::cout << "범위 내 숫자를 입력해주세요 (1 ~ 10)" << std::endl; } }
== 결과 ==
▶️ 번외 : 조건에서 끝나는 게 아니라 틀리면 다시 입력받고 싶을 경우 ⥤ while문 함께 이용
#include <iostream> // 입력과 출력을 위한 헤더 파일 int main() { int A, B; while (true) { std::cin >> A >> B; if (A > 0 && B < 10) { std::cout << A + B << std::endl; break; // 조건을 만족하면 반복문 탈출 } else { std::cout << "잘못된 입력입니다. 1 ~ 10 사이 숫자를 입력해주세요." << std::endl; } } }
== 결과 ==
'문풀 > 백준' 카테고리의 다른 글
[백준] 10430 - 나머지 (0) 2025.01.14 [백준] 10869 - 사직연산 (0) 2024.12.11 [백준] 1008 - A/B (0) 2024.12.11 [백준] 10998 - A x B (0) 2024.12.11 [백준] 1001 - A - B (0) 2024.12.11 다음글이 없습니다.이전글이 없습니다.댓글