goto语句
2010-08-19 09:37
141 查看
一般来说,c/c++中,goto语句后面不允许进行变量初始化,如下的代码:
// ......
goto SHENGXI:
int a = 0;
//..........
SHENGXI:
//......
这个是有编译错误的,编译器为了防止程序后面会引用未定义的变量来使用。但由于变量声明和定义的就近原则,这个会很不方便。利用{}的真实含义:开启一个新的浮动栈,此时可以自由声明:
// ......
goto SHENGXI:
{
int a = 0;
//..........
}
SHENGXI:
//......
2 goto的标签语句后不允许直接接大括号,否则编译器会报错:
如
goto SHENGXI:
{
// .....
SHENGXI:
}
不可以,而
goto SHENGXI:
{
//.....
SHENGXI:
return;
}可以
// ......
goto SHENGXI:
int a = 0;
//..........
SHENGXI:
//......
这个是有编译错误的,编译器为了防止程序后面会引用未定义的变量来使用。但由于变量声明和定义的就近原则,这个会很不方便。利用{}的真实含义:开启一个新的浮动栈,此时可以自由声明:
// ......
goto SHENGXI:
{
int a = 0;
//..........
}
SHENGXI:
//......
2 goto的标签语句后不允许直接接大括号,否则编译器会报错:
如
goto SHENGXI:
{
// .....
SHENGXI:
}
不可以,而
goto SHENGXI:
{
//.....
SHENGXI:
return;
}可以
相关文章推荐
- 【C语言知识点】break语句 、continue语句、goto 语句。
- [跳出语句]goto、break、return、continue的理解
- Oracle 顺序控制GOTO语句(exit,continue)
- goto语句的简单使用
- 使用goto实现循环,跳转语句
- goto语句用法
- C# 跳转语句(break,continue,goto,return,throw)
- 在程序中,你敢怎样使用“goto”语句!
- 关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论
- 控制流程语句中的双刃剑:goto
- java中的goto语句简介
- 关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论
- goto语句
- 使用if和goto语句构造循环
- 浅谈break 、continue、return,goto四种语句的区别。
- 为什么使用goto语句作错误处理
- Goto语句还是被认为是有害的吗?
- C语言基础之输入输出、常量定义、随机数、动态链接库的注入、数据类型介绍、goto语句的使用
- java中goto语句!
- oracle顺序控制语句goto、null和分页过程中输入输出存储、java程序的调用过程