数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数:
1、整个数组当作函数的参数,即把数组名称传入函数中,
#include <stdio.h>
void temp(int arr[])
{
int i;
for (i = 0; i < 5; i++)
{
printf("%d\n",arr[i]);
}
}
int main()
{
int arr[5] = { 1,2,3,4,5 };
temp(arr);
return 0;
}
2、数组中的元素当作函数参数,即把数组中的参数传入函数中,
#include <stdio.h>
void temp(int arrValue)
{
printf("%d\n", arrValue);
}
int main()
{
int arr[5] = { 1,2,3,4,5 };
temp(arr[3]);
return 0;
}
数组名作为函数实参传递时,函数定义处作为接受参数的数组类型形参既可以指定长度也可以不指定长度时
2、数组元素作为函数实参传递时,数组元素类型必须与形参数据类型一致
多维数组的遍历
-注意: 多维数组的每一维下标均不能越界
#include <stdio.h>
int main()
{
int num[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("num[%d][%d]=%d\n",i,j,num[i][j]);
}
}
return 0;
}
- 求对角线的和
#inc`这里写代码片`lude <stdio.h>
int main()
{
int arr[3][3] = { {1,2,3},{4,5,6,},{7,8,9} };
int i, j;
int sum = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (i % 2 == 0 && j % 2 == 0)
sum += arr[i][j];
}
}
sum += arr[1][1];
printf("对角线元素之和是:%d\n",sum);
return 0;
}