C Quiz – 105 | Question 3

What would happen when we compile and run this program?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include "stdio.h"
int main()
{
  int i; 
  goto LOOP;
  for (i = 0 ; i < 10 ; i++)
  {
     printf("GeeksQuiz\n");
     LOOP:
      break;
  }
  return 0;
}

chevron_right


(A) No compile error and it will print GeeksQuiz 10 times because goto label LOOP wouldn’t come in effect.
(B) No compile error and it’ll print GeeksQuiz only once because goto label LOOP would come in picture only after entering for loop.
(C) Compile Error because any goto label isn’t allowed in for loop in C.
(D) No compile error but behaviour of the program would depend on C compiler due to nondeterministic behaviour of goto statement.
(E) No compile error and it will not print anything.


Answer: (E)

Explanation: goto statement can be used inside a function and its label can point to anywhere in the same function. Here, for loop expressions i.e. i = 0 and i < 10 and i++ wouldn’t be executed at all. Because goto would make the program jump directly inside the for loop. And from there, it’ll execute break statement which would exit the loop. So effectively nothing would be printed.

Quiz of this Question



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.