goto是C语言擢爻充种的任意跳转语句关键词,后接跳转的标签,调用形式为:gotolabel,其中label为目番舸榆毛标跳转位置的标签,应满足C语言标识符的命名规则。从结构化设计的角度来看,它可能不利于程序的结构化,在某些场合会导致程序可读性差,所以目前大部分人不建议使用goto语句,但是作为C语言的基本语句,我们还是有必要了解其使用方法。
工具/原料
dev-cpp
方法/步骤
1、使用goto语句,必须有跳转程序的标签,该标签属于C语言标识符,应满足标识符的命名规则,即:使用字母、数字、下划线组成,开头不能是数字。
2、在main函数中天健gotogoto_label语句,下面的例子有三条print酆璁冻嘌f语句,第一条提示程序运行,溟猫钽吟第二条将被goto语句忽略掉,第三条printf语句将被执行。#include<stdio.h>intmain(intargc,char*argv[]){printf("main程序运行\r\n");gotogoto_label;printf("这一句运行。\r\n");goto_label:printf("已跳转至goto_label.\r\n");return0;}
3、确认代码无误后,编译并运行程序。
4、可以看到,goto语句后面的printf("这一句运行。\r\n");没有被运行,而是运行后goto_label后面的:printf("已跳转至goto_label.\r\n");说明goto语句完成了一次无条件跳转。
5、goto语句的跳转位置应位于同一个函数,如果标签位于不同的函数,则会出现语法错误。
6、结合if语句,我们可以使用goto语句实圬杂钴怖现break语句的功能:#include<stdi泠贾高框o.h>intmain(intargc,char*argv[]){inti=0;for(i=0;i<10;i++){if(i>=5){//i>=5时结束循环gotoend_for;}printf("%d\t",i);}end_for:return0;}
7、在程序中,原本需要打印1~10的10个数字,实际只打印了1~4的4个数字,这是if(i>=5)gotoxxxx终止了for的循环,起到了break语句的作用。