如何用C语言编写一个函数来计算任意数量的整数之和,当给定的具体数值n未知时?
时间: 2024-11-15 20:33:26 浏览: 0
C语言程序设计-求给定正整数m以内的素数之和;例如:当m=20时,函数值为77;
5星 · 资源好评率100%
在C语言中,你可以通过使用可变参数列表(varargs)来编写一个函数,它能够接受任意数量的整数作为输入。这种特性需要借助到`stdarg.h`库,以及一些特殊的参数类型声明。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdarg.h>
// 定义一个计算整数之和的函数
long long sum(int count, ...) {
va_list args; // 可变参数指针
int num;
long long total = 0;
va_start(args, count); // 初始化可变参数指针
for (int i = 0; i < count; i++) {
num = va_arg(args, int); // 从参数列表获取下一个整数
total += num;
}
va_end(args); // 清理可变参数
return total;
}
int main() {
printf("Sum of numbers: %lld\n", sum(3, 1, 2, 3)); // 传入三个数字
return 0;
}
```
在这个例子中,`sum()`函数接收一个整数`count`表示传入的整数个数,然后通过`va_start`、`va_arg`和`va_end`处理可变参数列表。当你想要计算一系列整数的和时,只需在主函数中提供相应的参数即可。
阅读全文