--- id: cpp-while-loop-reallife title: "C++ While Loop Examples" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["number reversal", "Yatzy example", "C++ while 루프 실전 예제"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.82 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["cpp", "programming-language", "w3schools", "loops", "while", "real-life-example"] raw_sources: ["https://www.w3schools.com/cpp/cpp_while_loop_reallife.asp"] applied_in: [] github_commit: "" --- # [[CPP While Loop Examples]] ## 🎯 한 줄 통찰 (One-line insight) `while (numbers)` still works as a bare-integer condition in C++ exactly as it did in C — relying on the same implicit non-zero-is-true rule — confirming that C++'s inherited arithmetic/truthiness semantics extend even to this somewhat unusual loop-condition style, not just to explicit boolean comparisons. [S1] ## 🧠 핵심 개념 (Core concepts) - **Bare-integer condition** — `while (numbers)` treats any non-zero `numbers` as true; the loop stops when it becomes 0. [S1] - **Digit extraction via `% 10` and `/ 10`** — same technique as C for reversing a number's digits. [S1] - **While loop combined with if/else** — the Yatzy example nests conditional logic inside the loop body. [S1] ## 📖 세부 내용 (Details) - Number reversal using a bare-integer condition: `int numbers = 12345; int revNumbers = 0; while (numbers) { revNumbers = revNumbers * 10 + numbers % 10; numbers /= 10; } cout << "Reversed numbers: " << revNumbers << "\n";`. [S1] - Yatzy dice-checking loop: `int dice = 1; while (dice <= 6) { if (dice < 6) { cout << "No Yatzy\n"; } else { cout << "Yatzy!\n"; } dice = dice + 1; }`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). C 챕터와 동일한 예제 및 정수 조건 특성이 확인됨. ## 🛠️ 적용 사례 (Applied in summary) 12345를 54321로 뒤집는 숫자 반전 알고리즘이 원문에서 직접 실전 활용 사례로 제시됨. [S1] ## 💻 코드 패턴 (Code patterns) Reversing a number's digits using a bare-integer while condition (C++): ```cpp int numbers = 12345; int revNumbers = 0; while (numbers) { revNumbers = revNumbers * 10 + numbers % 10; numbers /= 10; } cout << "Reversed numbers: " << revNumbers << "\n"; ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.82 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[C++ Tutorial]] - **관련 개념:** [[CPP While Loop]], [[CPP Do While Loop]], [[C While Loop RealLife]] - **참조 맥락:** while 루프 실전 예제 — do/while 루프(Do While Loop) 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — C++ While Loop Examples — https://www.w3schools.com/cpp/cpp_while_loop_reallife.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "C++ While Loop Examples" page (Astra wiki-curation, P-Reinforce v3.1 format).