サンプルプログラム cntl6.c
(8-6)goto文
goto文は、
label1: (処理) if( [式] ) goto label1
のようにジャンプさせたい位置へラベルを付けてジャンプさせます。
goto文を多用しますと見通しが悪くなりますので基本的には使わない方が良いと思います。
私もほとんど使うことはありませんでした。
ただtelnetサーバーとのやりとりをするプログラムを記述しているときには
goto文のお世話になりました。
このときはgoto文がなければすっきりとしたプログラムを書けなかったです。
#include <stdio.h> void main( void ) { int i; i = 1; label1: printf( "i = %d\n", i ); if( i++ < 10 ) goto label1; }
上記プログラムの実行結果
i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10
iが1から10になるまでコンソールに出力しています。