C语言在函数中使用goto的问题
C语言在函数中使用goto的问题#include<stdio.h>#include<string.h>intmain(){A:{printf("1\n");}voidaa...
C语言在函数中使用goto的问题#include <stdio.h>
#include <string.h>
int main()
{
A:{
printf("1\n");
}
void aa()
{
goto A;
}
printf("2\n");
aa();
}
编译后报错:error: label 'A' used but not defined
可是我需要goto在void aa()里,该怎么改? 展开
#include <string.h>
int main()
{
A:{
printf("1\n");
}
void aa()
{
goto A;
}
printf("2\n");
aa();
}
编译后报错:error: label 'A' used but not defined
可是我需要goto在void aa()里,该怎么改? 展开
2个回答
展开全部
goto只能在同一个函数体内用,不能跨函数用。你这里错就是错在aa()里跳出到外面去了,所以Label A在aa()未定义。
int main()
{
A:
printf("1\n");
aa();
goto A;
printf("2\n");
aa();
}
void aa() {
return;
}
这是按照你的意思写的,但是我警告你,这是个死循环,会一直goto下去,因为你没给出退出的条件。
int main()
{
A:
printf("1\n");
aa();
goto A;
printf("2\n");
aa();
}
void aa() {
return;
}
这是按照你的意思写的,但是我警告你,这是个死循环,会一直goto下去,因为你没给出退出的条件。
更多追问追答
追问
实际我想实现的是这个意思:
int main()里执行的东西在退出的时候调用了void exit(),然后这个函数里写的是exit 0,但是我不想终止整个程序,只想goto到指定位置
但是改成不调用void exit代价太大
展开全部
你这个程序有很大问题,
首先函数不能嵌套定义,不能在一个函数中定义另一个函数,void aa() 定义在 main 函数中是不对的。
第二 goto 不能跨函数跳转的。
你想实现什么功能?
追问
我这只是举个例子,实际我想实现的是这个意思:
int main()里执行的东西在退出的时候调用了void exit(),然后这个函数里写的是exit 0,但是我不想终止整个程序,只想goto到指定位置
但是改成不调用void exit代价太大
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询