C++的goto函数怎样使用?
答案:4 悬赏:10 手机版
解决时间 2021-04-27 08:29
- 提问者网友:川水往事
- 2021-04-26 13:56
C++的goto函数怎样使用?
最佳答案
- 五星知识达人网友:玩家
- 2021-04-26 14:38
goto是无条件跳转,只能在goto语句出现处改变控制流,无法通过本身返回。要用goto返回,可以定义多个label,在不同位置配合不同label使用goto语句。
label在函数内定义,作用域就是整个函数,和其它名称一样无法改变。由于不是左值,它没有生存期,仅在编译期有意义。
everyone998 错误。编译器至少会对label标识符进行语义检查。函数调用和goto是不同的。函数调用或返回时,一般的实现中需要根据调用约定清理堆栈。调用时先保存现场,复制实际参数,然后才是跳转,并不是直接无条件跳转那么简单。也因此goto语句无法跨函数跳转。
label在函数内定义,作用域就是整个函数,和其它名称一样无法改变。由于不是左值,它没有生存期,仅在编译期有意义。
everyone998 错误。编译器至少会对label标识符进行语义检查。函数调用和goto是不同的。函数调用或返回时,一般的实现中需要根据调用约定清理堆栈。调用时先保存现场,复制实际参数,然后才是跳转,并不是直接无条件跳转那么简单。也因此goto语句无法跨函数跳转。
全部回答
- 1楼网友:山君与见山
- 2021-04-26 16:21
goto {标号}下面是一个例子:#include void main()
{
int i=1,s=0;
re:
s=s+i;
if (i<100)
{
i=i+1;
goto re;
}
cout<}这个利用goto做一个循环,计算1+2+……+100的值,不过goto在程序设计中尽量不要用,容易使程序结构混乱。
{
int i=1,s=0;
re:
s=s+i;
if (i<100)
{
i=i+1;
goto re;
}
cout<
- 2楼网友:北方的南先生
- 2021-04-26 14:45
自己定义一个标记,比如LOOP: i--; goto LOOP;这样就可以循环i--的操作。 但是这种编程方式已经被废弃了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯