鱼C论坛

 找回密码
 立即注册
查看: 948|回复: 2

关于函数的定义和goto语句的疑问

[复制链接]
发表于 2021-11-29 21:10:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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        [Error] label 'nember' used but not defined

为什么会报错呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-29 21:14:16 | 显示全部楼层
         goto 语句失去目标,goto nember,作为目标的标号 nember 在哪里?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-29 21:28:16 | 显示全部楼层
本帖最后由 番杰 于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-7 01:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表