2) goto here; "> 2) goto here; ">
logo

CuriousTab

CuriousTab

Discussion


Home C Programming Control Instructions Comments

  • Question
  • Point out the error, if any in the while loop.
    #include<stdio.h>
    int main()
    {
        void fun();
        int i = 1;
        while(i <= 5)
        {
            printf("%d\n", i);
            if(i>2)
                goto here;
        }
    return 0;
    }
    void fun()
    {
        here:
        printf("It works");
    }
    


  • Options
  • A. No Error: prints "It works"
  • B. Error: fun() cannot be accessed
  • C. Error: goto cannot takeover control to other function
  • D. No error

  • Correct Answer
  • Error: goto cannot takeover control to other function 

    Explanation
    A label is used as the target of a goto statement, and that label must be within the same function as the goto statement.

    Syntax: goto <identifier> ;
    Control is unconditionally transferred to the location of a local label specified by <identifier>.
    Example:

    
    #include <stdio.h>
    int main()
    {
        int i=1;
        while(i>0)
        {
            printf("%d", i++);
            if(i==5)
              goto mylabel;
        }
        mylabel:
        return 0;
    }
     

    Output: 1,2,3,4


    Control Instructions problems


    Search Results


    • 1. Point out the error, if any in the program.
      #include<stdio.h>
      int main()
      {
          int i = 1;
          switch(i)
          {
              printf("This is c program.");
              case 1:
                  printf("Case1");
                  break;
              case 2:
                  printf("Case2");
                  break;
          }
      return 0;
      }
      

    • Options
    • A. Error: No default specified
    • B. Error: Invalid printf statement after switch statement
    • C. No Error and prints "Case1"
    • D. None of above
    • Discuss
    • 2. Point out the error, if any in the while loop.
      #include<stdio.h>
      int main()
      {
          int i=1;
          while()
          {
              printf("%d\n", i++);
              if(i>10)
                 break;
          }
          return 0;
      }
      

    • Options
    • A. There should be a condition in the while loop
    • B. There should be at least a semicolon in the while
    • C. The while loop should be replaced with for loop.
    • D. No error
    • Discuss
    • 3. Point out the error, if any in the program.
      #include<stdio.h>
      int main()
      {
          int P = 10;
          switch(P)
          {
             case 10:
             printf("Case 1");
      
             case 20:
             printf("Case 2");
             break;
      
             case P:
             printf("Case 2");
             break;
          }
          return 0;
      }
      

    • Options
    • A. Error: No default value is specified
    • B. Error: Constant expression required at line case P:
    • C. Error: There is no break statement in each case.
    • D. No error will be reported.
    • Discuss
    • 4. Point out the error, if any in the for loop.
      #include<stdio.h>
      int main()
      {
          int i=1;
          for(;;)
          {
              printf("%d\n", i++);
              if(i>10)
                 break;
          }
          return 0;
      }
      

    • Options
    • A. There should be a condition in the for loop
    • B. The two semicolons should be dropped
    • C. The for loop should be replaced with while loop.
    • D. No error
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x=1, y=1;
          for(; y; printf("%d %d\n", x, y))
          {
              y = x++ <= 5;
          }
          printf("\n");
          return 0;
      }
      

    • Options
    • A. 2 1
      3 1
      4 1
      5 1
      6 1
      7 0
    • B. 2 1
      3 1
      4 1
      5 1
      6 1
    • C. 2 1
      3 1
      4 1
      5 1
    • D. 2 2
      3 3
      4 4
      5 5
    • Discuss
    • 6. Which of the following errors would be reported by the compiler on compiling the program given below?
      #include<stdio.h>
      int main()
      {
          int a = 5;
          switch(a)
          {
      	case 1:
      	printf("First");
      
      	case 2:
      	printf("Second");
      
      	case 3 + 2:
      	printf("Third");
      
      	case 5:
      	printf("Final");
      	break;
      
          }
          return 0;
      }
      

    • Options
    • A. There is no break statement in each case.
    • B. Expression as in case 3 + 2 is not allowed.
    • C. Duplicate case case 5:
    • D. No error will be reported.
    • Discuss
    • 7. Point out the error, if any in the program.
      #include<stdio.h> 
      int main()
      {
          int a = 10, b;
          a >=5? b=100: b=200;
          printf("%d\n", b);
          return 0;
      }
      

    • Options
    • A. 100
    • B. 200
    • C. Error: L value required for b
    • D. Garbage value
    • Discuss
    • 8. Point out the error, if any in the program.
      #include<stdio.h>
      int main()
      {
          int i = 1;
          switch(i)
          {
              case 1:
                 printf("Case1");
                 break;
              case 1*2+4:
                 printf("Case2");
                 break;
          }
      return 0;
      }
      

    • Options
    • A. Error: in case 1*2+4 statement
    • B. Error: No default specified
    • C. Error: in switch statement
    • D. No Error
    • Discuss
    • 9. Point out the error, if any in the program.
      #include<stdio.h>
      int main()
      {
          int a = 10;
          switch(a)
          {
          }
          printf("This is c program.");
      	return 0;
      }
      

    • Options
    • A. Error: No case statement specified
    • B. Error: No default specified
    • C. No Error
    • D. Error: infinite loop occurs
    • Discuss
    • 10. Which of the following statements are correct about the program?
      #include<stdio.h>
      int main()
      {
          int x = 30, y = 40;
          if(x == y)
              printf("x is equal to y\n");
      
          else if(x > y)
              printf("x is greater than y\n");
      
          else if(x < y)
              printf("x is less than y\n")
          return 0;
      }
      

    • Options
    • A. Error: Statement missing
    • B. Error: Expression syntax
    • C. Error: Lvalue required
    • D. Error: Rvalue required
    • Discuss


    Comments

    There are no comments.

Enter a new Comment