噜噜哒
标签本身没有作用域的,只是一个标志点。但是goto本身有限制,只能是当前函数。所以,从这个角度来说,标签的作用域也可以说是当前函数。比如123456789void func(){ int a; a=0; loop: a++; if(a<10) goto loop; printf("%d",a);}这个程序中,loop标签就与goto配合起到了跳转作用。对于goto来说,这个标签只要是在本函数内的就是合法的,无论是在goto前还是goto后。但是,如下程序:123456789101112int a = 0;void func1(void){ loop: printf("%d",a);} void func2(void){ a++; if(a<10)goto loop;}在func2中调用goto使用了func1中的标签loop,在编译的时候就会报错。因为使用goto时只会在本函数中查找该标签。