goto语句

来源:互联网 发布:lols8强势英雄 知乎 编辑:程序博客网 时间:2024/06/10 04:23

  一般来说,c/c++中,goto语句后面不允许进行变量初始化,如下的代码:

// ......

goto SHENGXI:

  int a = 0;

  //..........

SHENGXI:

//......

这个是有编译错误的,编译器为了防止程序后面会引用未定义的变量来使用。但由于变量声明和定义的就近原则,这个会很不方便。利用{}的真实含义:开启一个新的浮动栈,此时可以自由声明:

// ......

goto SHENGXI:

  {

int a = 0;

  //..........

SHENGXI:

//......

 

 

2  goto的标签语句后不允许直接接大括号,否则编译器会报错:

goto SHENGXI:

// .....

SHENGXI:

}

不可以,而

goto SHENGXI:

//.....

SHENGXI:

return;

}可以

原创粉丝点击