goto语句怎么用
的有关信息介绍如下:goto是C语言的任意跳转语句关键词,后接跳转的标签,调用形式为:goto label,其中label为目标跳转位置的标签,应满足C语言标识符的命名规则。从结构化设计的角度来看,它可能不利于程序的结构化,在某些场合会导致程序可读性差,所以目前大部分人不建议使用goto语句,但是作为C语言的基本语句,我们还是有必要了解其使用方法。
使用goto语句,必须有跳转程序的标签,该标签属于C语言标识符,应满足标识符的命名规则,即:使用字母、数字、下划线组成,开头不能是数字。
在main函数中天健goto goto_label语句,下面的例子有三条printf语句,第一条提示程序运行,第二条将被goto语句忽略掉,第三条printf语句将被执行。
#include
int main(int argc, char *argv[]) {printf("main程序运行\r\n");goto goto_label;printf("这一句运行。\r\n");goto_label: printf("已跳转至goto_label. \r\n");return 0;}
确认代码无误后,编译并运行程序。
可以看到,goto语句后面的printf("这一句运行。\r\n"); 没有被运行,而是运行后goto_label后面的:printf("已跳转至goto_label. \r\n");说明goto语句完成了一次无条件跳转。
goto语句的跳转位置应位于同一个函数,如果标签位于不同的函数,则会出现语法错误。
结合if语句,我们可以使用goto语句实现break语句的功能:
#include
int main(int argc, char * argv[]){int i = 0;for(i = 0; i < 10; i ++){if(i >= 5){//i >= 5时结束循环 goto end_for;}printf("%d\t", i);}end_for:return 0;}
在程序中,原本需要打印1~10的10个数字,实际只打印了1~4的4个数字,这是if(i >= 5) goto xxxx终止了for的循环,起到了break语句的作用。