c语言怎么多个参数传参
时间: 2023-11-28 20:03:45 浏览: 89
在C语言中,可以使用可变参数列表来传递多个参数。可变参数列表的声明方式是在函数参数列表的最后一个参数前加上省略号(...),如下所示:
```
int func(int arg1, ...);
```
在函数中,可以使用 `<stdarg.h>` 头文件中提供的宏定义来访问可变参数列表中的参数。其中,`va_start` 宏用于初始化可变参数列表的访问,`va_arg` 宏用于获取可变参数列表中的下一个参数,`va_end` 宏用于结束可变参数列表的访问,具体使用方法可以参考下面的示例代码:
```c
#include <stdio.h>
#include <stdarg.h>
void print_args(int num_args, ...)
{
va_list args;
va_start(args, num_args);
for (int i = 0; i < num_args; i++) {
int arg = va_arg(args, int);
printf("arg%d: %d\n", i + 1, arg);
}
va_end(args);
}
int main()
{
print_args(3, 1, 2, 3);
return 0;
}
```
在上面的示例代码中,`print_args` 函数接受一个整数参数 `num_args` 和一个可变参数列表。函数使用 `va_list` 类型的变量 `args` 来访问可变参数列表中的参数。`va_start(args, num_args)` 初始化 `args` 变量,`va_arg(args, int)` 获取可变参数列表中的下一个整数参数,`va_end(args)` 结束可变参数列表的访问。在 `main` 函数中,调用 `print_args` 函数并传递三个整数参数 1、2 和 3。输出结果为:
```
arg1: 1
arg2: 2
arg3: 3
```