goto Statement

61 views

A goto statement is allowed to jump within the scope of a variable length array. ”goto ” statement  permits unstructured jumps.The goto statement branches unconditionally to a statement label or block label. The label must be unique within its scope.

Specifically, a  “goto” statement cannot branch into an IF statement, CASE statement, LOOP statement, or sub-block.

#include <stdio.h>

int main()
{
int dog, cat, pig;

   goto real_start;

   some_where:
   printf(”This is another line of the mess.\n”);
   goto stop_it;

/* the following section is the only section with a useable goto */
   real_start:
   for(dog = 1 ; dog < 6 ; dog = dog + 1)
   {
      for(cat = 1 ; cat < 6 ; cat = cat + 1)
      {
         for(pig = 1 ; pig < 4 ; pig = pig + 1)
         {
            printf(”Dog = %d  Cat = %d  Pig = %d\n”, dog, cat, pig);
            if ((dog + cat + pig) > 8 ) goto enough;
         };
      };
   };
   enough: printf(”Those are enough animals for now.\n”);
/* this is the end of the section with a useable goto statement */

   printf(”\nThis is the first line out of the spaghetti code.\n”);
   goto there;

   where:
   printf(”This is the third line of spaghetti.\n”);
   goto some_where;

   there:
   printf(”This is the second line of the spaghetti code.\n”);
   goto where;

   stop_it:
   printf(”This is the last line of this mess.\n”);

   return 0;
}

/* Result of execution*/


Dog = 1  Cat = 1  Pig = 1
Dog = 1  Cat = 1  Pig = 2
Dog = 1  Cat = 1  Pig = 3
Dog = 1  Cat = 2  Pig = 1
Dog = 1  Cat = 2  Pig = 2
Dog = 1  Cat = 2  Pig = 3
Dog = 1  Cat = 3  Pig = 1
Dog = 1  Cat = 3  Pig = 2
Dog = 1  Cat = 3  Pig = 3
Dog = 1  Cat = 4  Pig = 1
Dog = 1  Cat = 4  Pig = 2
Dog = 1  Cat = 4  Pig = 3
Dog = 1  Cat = 5  Pig = 1
Dog = 1  Cat = 5  Pig = 2
Dog = 1  Cat = 5  Pig = 3
Those are enough animals for now.
This is the first line out of the spaghetti code.
This is the second line of the spaghetti code.
This is the third line of spaghetti.
This is another line of the mess.
This is the last line of this mess.



« JavaScript vs. Java CSS Text »
Posted on Friday, June 13th, 2008 at 5:51 pm under C For Beginners | RSS 2.0 Feed

One Response to “goto Statement”

  1. Recent URLs tagged Goto - Urlrecorder Says:

    [...] Recent public urls tagged “goto” → goto Statement [...]


Post Comment

You must be logged in to post a comment.



ComputerEducationWorld.com All Rights Reserved © RSS | CBSE | Education Boards Of India | What is My IP?