Thursday, January 16, 2020

C goto statement

The goto statement is known as jump statement in C. As the name suggests, goto is used to transfer the program control to a predefined label. The goto statment can be used to repeat some part of the code for a particular condition. It can also be used to break the multiple loops which can't be done by using a single break statement. However, using goto is avoided these days since it makes the program less readable and complecated.

Syntax:

label:
//some part of the code;
goto label;

goto example

Let's see a simple example to use goto statement in C language.

#include <stdio.h>
int main()
{
int num,i=1;
printf("Enter the number whose table you want to print?");
scanf("%d",&num);
table:
printf("%d x %d = %d\n",num,i,num*i);
i++;
if(i<=10)
goto table;
}
Output:
Enter the number whose table you want to print?10 
10 x 1 = 10 
10 x 2 = 20 
10 x 3 = 30 
10 x 4 = 40 
10 x 5 = 50 
10 x 6 = 60 
10 x 7 = 70 
10 x 8 = 80 
10 x 9 = 90 
10 x 10 = 100

When should we use goto?

The only condition in which using goto is preferable is when we need to break the multiple loops using a single statement at the same time. Consider the following example.

#include <stdio.h>
int main()
{
int i, j, k;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
for(k=0;k<3;k++)
{
printf("%d %d %d\n",i,j,k);
if(j == 3)
{
goto out;
}
}
}
}
out:
printf("came out of the loop");
}



0 0 0 
0 0 1 
0 0 2 
0 1 0 
0 1 1 
0 1 2 
0 2 0 
0 2 1 
0 2 2 
0 3 0 
came out of the loop

No comments:

Post a Comment