c语言main函数传参
时间: 2023-08-19 12:20:36 浏览: 48
C语言的main函数可以传入两个参数:argc和argv。
其中,argc表示命令行参数的个数,包括程序本身。而argv是一个指向字符指针的数组,每个指针指向一个命令行参数的字符串。
例如,以下代码可以打印出命令行参数的个数和每个参数的值:
```
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("argc = %d\n", argc);
for(int i=0; i<argc; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
```
当我们运行这个程序时,可以用命令行参数来传入参数值,例如:
```
./myprogram arg1 arg2 arg3
```
这样,程序就会输出:
```
argc = 4
argv[0] = ./myprogram
argv[1] = arg1
argv[2] = arg2
argv[3] = arg3
```
相关问题
c语言函数之间传参示例
好的,下面是一个简单的示例:
```c
#include <stdio.h>
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 10;
int b = 20;
printf("Before swap: a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("After swap: a = %d, b = %d\n", a, b);
return 0;
}
```
这个示例中,我们定义了一个 `swap` 函数来交换两个整数的值。在 `main` 函数中定义了两个整数 `a` 和 `b`,然后调用 `swap` 函数,将它们的地址传递给 `swap` 函数。 `swap` 函数通过指针来交换 `a` 和 `b` 的值。在 `main` 函数中,我们可以看到 `a` 和 `b` 的值已经被交换了。
c语言函数传参 数组
在C语言中,函数传参数组可以有两种方式:传递数组的指针或传递数组的首元素地址。具体来说,可以使用以下两种方式:
1. 传递数组的指针
函数定义时,可以使用指针作为参数,这个指针指向数组的首地址。在函数内部,可以通过指针访问数组中的元素。
例如:
```c
void printArray(int *arr, int len) {
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printArray(arr, len);
return 0;
}
```
2. 传递数组的首元素地址
函数定义时,可以使用数组作为参数,这个数组会被自动转换为指向首元素的指针。在函数内部,也可以通过指针访问数组中的元素。
例如:
```c
void printArray(int arr[], int len) {
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printArray(arr, len);
return 0;
}
```
阅读全文