大佬们,为什么我把小甲鱼的代码复制一下,居然报错了
大佬们,昨天还是正常运行的,今天就不行了,这是怎么回事#include <stdio.h>
#include <stdarg.h>
int sum(int n, ...);
int sum(int n, ...) // 三个小点是占位符,表示参数个数不确定
{
int i, sum = 0;
va_list vap; // 定义参数列表
va_start(vap, n); // 初始化参数列表,如果是 int sum(int gg, ...); 则这里应该是 va_start(vap, gg);
for (i = 0; i < n; i++)
{
sum += va_arg(vap, int); // 获取参数值
}
va_end(vap); // 首尾工作,关闭参数列表
return sum;
}
int main()
{
int result;
result = sum(3, 1, 2, 3);
printf("result = %d\n", result);
return 0;
} 大佬们好!从你提供的代码来看,看起来是你没有包含必要的头文件。你需要添加以下两个头文件:
#include <stdio.h>
#include <stdarg.h>
这样就可以解决你遇到的问题了。
在C语言中,如果你使用到了某个函数或者变量,就必须先声明该函数或者变量的存在,这样编译器才知道它们是什么。头文件的作用就是声明一些常用的函数和变量,方便我们直接调用。
在你的代码中,你使用了`va_list`、`va_start()`和`va_end()`这几个函数,这些函数都定义在`<stdarg.h>`头文件中。而`printf()`则定义在`<stdio.h>`头文件中。
所以,为了让你的代码正常运行,你需要在代码开头添加以下两个头文件的引入:
#include <stdio.h>
#include <stdarg.h>
之后,你的代码就可以顺利编译和运行了。
祝你编程愉快!如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 报了什么错误? 不二如是 发表于 2024-5-29 21:35
报了什么错误?
#include nested too deeply 不二如是 发表于 2024-5-29 21:35
报了什么错误?
大佬,我解决了,不知道怎么回事,我的c语言库里面的#include <stdarg.h>文件变成了我的源代码,所以就反复调用,我把编程软件删了重下就可以了 2121 速度前排{:5_102:} {:10_256:} 正天圣人 发表于 2024-5-30 13:26
大佬,我解决了,不知道怎么回事,我的c语言库里面的#include 文件变成了我的源代码,所以就反复调用,我 ...
学到了学到了,吸取教训 这问题总结出一个道理:调试不行,重下软件试试 前来学习看看
页:
[1]