1、goto关键字基础知识关键字goto从字面的意思就是"去哪里"的意思,专业一点的话表示无条件跳转的意思(有学过汇编的小伙伴应该会觉得非常像jump指令),在C语言中的使用格式是:goto label,表示跳转到label的位置,并且我们的label一般都写在语句的开头,写成label:的形式。(下面一个小例子来简单介绍用法)
intmain(intargc,char*argv[]){
//无条件跳转到标签处
gotothelastBug;
printf("未知bug\n");
//标签定义
thelastBug:
printf("最后一个bug\n");
return0;
}
注意点:
1)goto label;后面的分号一定得打。(个人经常忘记,这里提醒一下各位)
2)goto只能在函数内部无条件跳转,不能从一个函数跳转到另外一个函数。
3)label:的标识在使用goto语句的前后均可,不遵循先定义后使用。
4)label的作用域在函数内部,不同函数之间可以定义相同的label。
(上面的几点注意项大家有时间可以在电脑上实验下)
2、备受争议的C语言关键字-goto
对于goto的使用程序语言界算是争议不断,并且大部分大学C语言老师在讲到到goto这关键字的时候一般都会叫大家慎用goto关键字,甚至有部分老师一棍子拍死“禁止使用goto关键字”。个人觉得一棍子打死终究不合适,慎用比较说得过去点。如果说禁止使用那为什么还要在C语言标准中定义呢?干脆直接剔除算了。有句话说得好,"存在即合理"。
<