Skip to content
Related Articles

Related Articles

Improve Article
C Quiz – 105 | Question 3
  • Difficulty Level : Easy
  • Last Updated : 09 Oct, 2015

What would happen when we compile and run this program?




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

(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

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :