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

Discussion

The output of the code below is

void main()
    {
        int k = m();
        printf("%d", k);
    }

    void m()
    {

        printf("hello");
    }

 

  • A.hello 5
  • B.Error
  • C.Nothing
  • D.Junk value

Answer: A

Correct answer: Error

m is defined after main and not declared before it, so at the call the compiler either rejects it outright or, under the old rules, assumes int m() - and the later definition as void m() then conflicts with that assumption. Either way the program does not compile. Assigning the result of a void function to an int would be an error in its own right.

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

Post your comment

Please log in or register to post a comment.