C语言出现Undefined Function及get_int未定义编译报错求助
问题原因与修复方案
1. 函数名拼写错误
你在main函数中调用的函数名是get_postive_int,但实际声明和实现的函数名为get_positive_int,二者拼写不一致:
- 错误拼写:
get_postive_int(缺失字母i) - 正确拼写:
get_positive_int
将main中调用的函数名修改为正确拼写即可解决该函数的未定义报错。
2. get_int相关报错解决
get_int是CS50库提供的专属函数,默认标准C库没有该函数,你当前代码只引入了<stdio.h>,缺少对应的头文件和编译链接配置:
- 第一步:在头文件区域引入CS50头文件:
#include <cs50.h>
- 第二步:编译时增加链接CS50库的参数,以gcc为例,编译命令为:
gcc 你的源文件名.c -o 输出程序名 -lcs50
如果你不需要使用CS50库,可以将get_int替换为标准库的scanf实现,示例如下:
// 替换 p = get_int("Positive integer: "); 为以下代码 printf("Positive integer: "); scanf("%d", &p);
内容的提问来源于stack exchange,提问作者Winson
相关产品推荐
相关产品推荐

