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()里,该怎么改?
展开
 我来答
stanywhite
2018-07-21 · TA获得超过7401个赞
知道大有可为答主
回答量:3632
采纳率:87%
帮助的人:255万
展开全部
goto只能在同一个函数体内用,不能跨函数用。你这里错就是错在aa()里跳出到外面去了,所以Label A在aa()未定义。

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代价太大
yinfengnong
2018-07-21 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2289万
展开全部

你这个程序有很大问题,

  • 首先函数不能嵌套定义,不能在一个函数中定义另一个函数,void aa() 定义在 main 函数中是不对的。

  • 第二 goto 不能跨函数跳转的。

你想实现什么功能?

追问
我这只是举个例子,实际我想实现的是这个意思:
int main()里执行的东西在退出的时候调用了void exit(),然后这个函数里写的是exit 0,但是我不想终止整个程序,只想goto到指定位置
但是改成不调用void exit代价太大
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式