但是从 C 语言的程序设计结构和风格上讲,不建议使用 goto 语句进行编程。
void main( )
{
int num
char my_str[40]
scanf("%d %s", &num, my_str) /* 从键盘上输入一个整数 num、以及字符串 my_str */
goto display_string /* 程序代码直接跳转到 display_string 处显示字符串的内容,而不会执行显示数字 num 的代码 */
printf("just input num is %d\n", num)
display_string:
printf("just input string is %s\n", my_str)
}
goto
是转向语句,按其英文含义就可理解
用法
标号:
语句;
go
to
标号;
或者
go
to
标号;
标号:
语句;
标号和goto必须包括处于同一个函数内
标号的写法跟变量名一样不能和关键词相同,后面必须带冒号
当程序执行到go
to这个语句时,程序就转跳到标号后面的语句去了
例
int
x=1
语句1:
x=x+1
if(x<100)
goto
语句2
cout<<"x=100"<<endl
当x小于100,执行if
后面的goto语句,于是转跳到语句2处执行语句1后面的语句x=x+1,接着if语句,
如此反复。。。。。。,直到x=100
if语句括号表达式为假不执行后面的goto语句,
于是跳过执行cout语句输出x=100这几个字符
goto是条件跳转指令,可以使程序的执行跳转到另一个位置,因此它会破坏其它的控制流机制(如FOR,IF SWITCH)所提供的有用结构。goto语句常常导致程序需要不断进行修补,而通过goto语句对原来的代码进行修改,程序很快就会变得难以理解。