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

Discussion

What will be the output?

double var = 8;
    int main()
    {
        int var = 5;
        printf("%d", var);
    }

 

  • A.5
  • B.8
  • C.Compile time error due to wrong format identifier for double
  • D.Compile time error due to redeclaration of variable with same name

Answer: A

Correct answer: 5

The local int var = 5; shadows the file-scope double var = 8; throughout main, so %d is matched with an int and prints 5. Shadowing is legal - the two are different objects in different scopes.

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

Post your comment

Please log in or register to post a comment.