关于函数的定义和goto语句的疑问
#include <stdio.h>void nember()
{
printf("不是素数");
}
void main()
{
// void nember()
//void nember()
//{
// printf("不是素数");
//}
int x,t;
printf("输入一个数");
scanf("%d",&x);
for(int i =0;i<x;i++)
{
if(x/i!=0)
{
goto nember ;
}
}
printf("是素数");
//return 0;
}
23 4 C:\Users\lyl\Desktop\c语言\古法求素数.c label 'nember' used but not defined
为什么会报错呢?
goto 语句失去目标,goto nember,作为目标的标号 nember 在哪里? 本帖最后由 番杰 于 2021-11-30 08:20 编辑
goto不是你这么用的;
你这个相当于使调用一个名字叫“nember”的函数;
正常使用goto跳转的都是在同一个函数中的:
另外,你这个报错原因就是因为:
你要跳转到”nember”
但是在main函数中却没有;
所以就会报错;
就像你用到i,却没定义一个道理;
这是正常goto写法:
#include <stdio.h>
int main()
{
int x,t;
printf("输入一个数");
scanf("%d",&x);
for(int i =0;i<x;i++)
{
if(x/i!=0)
{
goto nember ;
}
}
printf("是素数");
nember:
printf("不是素数");
return 0;
}
页:
[1]