c语言中如何在主函数中自动赋值,下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(in..._考试资料网...
时间: 2024-03-08 10:48:59 浏览: 76
您好!根据您的要求,我编写了以下代码:
```c
#include <stdio.h>
#define N 3 // 宏定义二维数组的行列数
void fun(int arr[][N]) {
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (i == j) {
arr[i][j] = 1; // 对角线元素赋值为1
} else {
arr[i][j] = 0; // 非对角线元素赋值为0
}
}
}
}
int main() {
int arr[N][N];
int i, j;
fun(arr); // 调用函数自动赋值
// 输出二维数组
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
printf("%d ", arr[i][j]);
}
printf("\n"); // 换行
}
return 0;
}
```
在该程序中,我们首先通过宏定义定义了二维数组的行列数为3。然后我们编写了一个名为`fun`的函数,用于自动赋值。在`fun`函数中,我们使用了两层循环遍历二维数组的每个元素,并根据其位置分别赋值为1或0。在主函数中,我们定义了一个名为`arr`的二维数组,并调用`fun`函数进行自动赋值。最后,我们通过两层循环输出二维数组的每个元素。
注意,在函数声明中,我们需要指定第一维的长度,即`int arr[][N]`,而不是`int arr[][]`。这是因为在函数调用时,第一维的长度必须是已知的。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)