C goto Statement

The goto statement jumps to a label in the same function. A label is a name followed by a colon.

Syntax and example

#include <stdio.h>

int main(void) {
    int i = 1;

start:
    printf("%d\n", i);
    i++;
    if (i <= 3) goto start;

    printf("End\n");
    return 0;
}

Output:

Output of the above program is

1
2
3
End

A fair use: leave nested loops

#include <stdio.h>

int main(void) {
    for (int i = 1; i <= 3; i++) {
        for (int j = 1; j <= 3; j++) {
            if (i * j == 4) {
                printf("Found at i=%d j=%d\n", i, j);
                goto done;
            }
        }
    }
done:
    printf("Finished\n");
    return 0;
}

Output:

Output of the above program is

Found at i=2 j=2
Finished

Note: goto makes the program flow difficult to follow, so most programmers avoid it. Use loops and functions instead. The nested loop exit above is one of few places where it is accepted.

Next: C Functions.


Congratulations! Chapter Finished. Learn more about the similar topics:
Exercises & Assignments
No Content Found.
Interview Questions & Answers
No Content Found.