Simple conditional return in C: given i=45, what does this program print? #include<stdio.h> int check(int); int main() { int i = 45, c; c = check(i); printf("%d ", c); return 0; } int check(int ch) { if (ch >= 45) return 100; else return 10; }

C++ Programming Functions Difficulty: Easy
Choose an option
  • A
    100
  • B
    10
  • C
    1
  • D
    0
  • E
    Undefined behavior

Answer

Correct Answer: 100

Explanation

Introduction / Context:This checks the basics of conditional branching and return values in C. The function returns one of two constants depending on whether the input meets a threshold.

Given Data / Assumptions:

  • Main sets i = 45 and calls check(i).
  • check returns 100 if ch >= 45, otherwise 10.
  • Printed value is whatever check returns.

Concept / Approach:Direct evaluation of a relational condition determines which return executes. Since 45 meets the greater-than-or-equal condition, the function takes the first branch.

Step-by-Step Solution:Given ch = 45.Evaluate condition ch >= 45 → true.Execute return 100;In main, c receives 100, which is printed.

Verification / Alternative check:Testing with ch = 44 yields 10; with ch = 46 yields 100, confirming the threshold behavior.

Why Other Options Are Wrong:10/1/0 do not match the executed branch. No undefined behavior is present.

Common Pitfalls:Off-by-one misunderstandings around inclusive comparisons (using >= vs >).

Final Answer:100

Discussion & Comments
No comments yet. Be the first to comment!
Join Discussion