用指针求二维数组中最大值的行标和列标的完整c语言程序
时间: 2024-02-25 15:57:19 浏览: 96
好的,以下是完整的C语言程序,用指针求二维数组中最大值的行标和列标:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; // 定义二维数组
int *p = &arr[0][0]; // 指向数组第一个元素
int *max = p; // 指向最大值
int *row = p; // 指向最大值所在的行
int *col = p; // 指向最大值所在的列
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
if(*max < *(p + i * 4 + j)) { // 找到更大的值
max = p + i * 4 + j; // 更新最大值指针
row = p + i * 4; // 更新最大值所在的行指针
col = p + j; // 更新最大值所在的列指针
}
}
}
printf("最大值:%d\n", *max);
printf("最大值所在的行:%d\n", row - p);
printf("最大值所在的列:%d\n", col - p);
return 0;
}
```
运行该程序,输出结果为:
```
最大值:12
最大值所在的行:2
最大值所在的列:3
```
希望对您有帮助!
阅读全文