利用地址运算符和指针输入二维数组中所有的元素 代码怎么实现?
时间: 2024-05-08 09:18:00 浏览: 80
c++ 二级指针与二维数组之间值操作
5星 · 资源好评率100%
对于这个问题,很高兴我能够为您提供几个实现的方式。其中一种方法是使用 for 循环遍历二维数组的每个元素,接着使用指针和地址运算符将所有元素的值输入。具体的代码实现如下:
```c
#include <stdio.h>
void input(int *arr, int rows, int cols) {
int i, j;
for (i = 0 ; i < rows ; i++) {
for (j = 0 ; j < cols ; j++) {
printf("输入第 %d 行,第 %d 列的值:", i + 1, j + 1);
scanf("%d", (arr + i * cols + j));
}
}
}
void output(int *arr, int rows, int cols) {
int i, j;
for (i = 0 ; i < rows ; i++) {
for (j = 0 ; j < cols ; j++) {
printf("%d ", *(arr + i * cols + j));
}
printf("\n");
}
}
int main() {
int arr[2][3];
input(arr, 2, 3);
output(arr, 2, 3);
return 0;
}
```
这段代码中,我们首先定义了一个二维数组,然后定义了一个输入函数 input 和一个输出函数 output。在输入函数中,我们使用两个 for 循环依次访问二维数组中的每个元素,并且使用地址运算符将输入的值放入二维数组中。在输出函数中,我们同样使用两个 for 循环依次访问二维数组中的每个元素,并且使用指针输出数组中的值。
希望这个答案能够帮助您解决问题,如果您还有其它的问题,欢迎继续提问。
阅读全文