c语言中 go to语句的使用方法

Python018

c语言中 go to语句的使用方法,第1张

go

to

是转向语句,按其英文含义就可理解

用法

标号

语句;

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这几个字符

可以使程序跳转到标记位置,可以和if语句构成循环,但是对于goto语句的使用争议很大,它能使程序很轻松的跳出多个嵌套循环,但是会破坏程序的模块化,使程序的可读性变差,项目越大这个缺点越明显,所以个人观点不建议使用,了解就可以了,goto语句的一些用处while和do

while循环可以代替。

用法举例:

#include

<stdio.h>

#include

<stdlib.h>

int

main()

{

char

input

loop:

printf("Hello,

world!\n")

printf("Repeat?(y/n)")

scanf("%c",

&input)

if

(input

==

'y')

{

goto

loop

}

system("pause")

return

0

}

在 C 语言的编译器中,肯定是没有 go bott 这个关键字的。但是有:goto 这个关键字。goto 关键字的意思是:在整个程序的过程中,可以随时跳转到后面标号的语句。例如下列代码的运行结果就是:直接显示刚刚输入的字符串的内容,而不会输出刚刚输入的整数的数值。

但是从 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)

}