Challenge 2: A do-while That Runs Once Despite a False Condition — Possible Solution ==================================================================== #include int main() { int n = 0; do { printf("This runs even though n > 0 is false.\n"); } while (n > 0); return 0; } Output: This runs even though n > 0 is false. n is 0 from the very start, so the condition n > 0 is false before the loop ever runs -- yet the message still prints exactly once. Why a plain while loop couldn't do this: per the chapter, while checks its condition BEFORE the first iteration. With the same starting condition (n > 0, and n is 0), a while (n > 0) { ... } loop would evaluate the condition, find it false immediately, and skip the body entirely -- it would print nothing at all. do-while's defining difference is checking AFTER the body runs instead of before, which is exactly why it's able to execute the body once regardless of what the condition would have said going in. WHY THIS WORKS AS AN ANSWER ------------------------------ This constructs a genuine case where the condition is false from the very first evaluation (n = 0, condition n > 0), proving the body still runs -- demonstrating the check-after behavior concretely rather than just restating the definition -- and explains precisely why a while loop with the identical condition would behave differently (checking before means it never even attempts the body).