编译一个函数printArr,打印传入的数组中的所有元素
在定义函数的时候,如果形参是一个数组 格式为:类型 参数名[ ]
代码如下:
#include<stdio.h>
void printArr(int arr[], int len){
for(int i = 0;i < len; i++){
printf("%d\n", arr[i]);
}
}
int main(){
int arr1[5]={1,2,3,4,5};
int arr2[3]={7,8,9};
printArr(arr1, 5);
printArr(arr2, 3);
}
结果如下:
也可用sizeof获取变量:
#include<stdio.h>
void printArr(int arr[], int len){
for(int i = 0;i < len; i++){
printf("%d\n", arr[i]);
}
}
int main(){
int arr1[]={1,2,3,4,5};
计算数组元素个数 用数组的整体大小/单个元素大小
int n_arr1 = sizeof(arr1)/sizeof(arr1[0]);
printf("%d\n", n_arr1);
printf(arr1, n_arr1);
与函数返回值的不变并不相同,传入数组会导致其结果的改变
如下代码:
#include<stdio.h>
void printArr(int arr[]){
arr[0] = 100;
arr[1] = 200;
}
int main(){
int arr[] = {1,2};
printf("%d %d\n", arr[0], arr[1]);
funArr(arr);
printf("%d %d\n", arr[0], arr[1]);
}
结果如下: