goto语法规则:goto和标签名,比如:goto aa;,aa是标签名。
先看例子,代码如下:
#include <stdio.h>
int main(void){
int a=2,b=3;
if(a<b){
goto aa;
}
printf("hello\n");
aa:printf("s\n");
return 0;
}
打印结果:
在这可以看到当满足if条件时goto aa是直接跳转到了aa:printf(“s”),紧接着走return语句,并不会返回if方法然后走printf(“hello”)
反之如果代码像下面这样,goto aa将没有任何意义
#include <stdio.h>
int main(void){
int a=2,b=3;
if(a>b){
goto aa;
}
printf("hello\n");
aa:printf("s\n");
return 0;
}
打印结果:
当if条件不满足时,虽然执行了aa:printf("s\n")语句,但这里和aa并没有关系,只是和printf()语句有所关联