Machine-translated by Google. Questions are authored in English.
Top

Discussion

#include <stdio.h>
int i;
int main()
{
    if (i);
    else
        printf("Else");
    return 0;
}

What is correct about the above program?

  • A.If block is executed
  • B.Else block is executed
  • C.It is unpredictable as i is not initialized
  • D.Error: misplaced else

Answer: B

Correct answer: Else block is executed

i is a global, so it is zero-initialised - not indeterminate, which is what makes the outcome predictable. The condition is therefore false. The semicolon after if (i) is the empty statement that forms the if branch, and the else attaches to it perfectly legally, so the else branch runs.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.