|  | 
 
 发表于 2023-8-1 19:18:01
|
显示全部楼层 
| 复制代码#include <stdio.h>
void printElement(double *arr, int x, int y) {
    int a, b;
    printf("输入你要打印的元素。(格式:行,列)\n");
    scanf_s("%d,%d", &a, &b);
    if (a > x || b > y) {
        printf("你输入的行或者列错误。\n");
        printElement(arr, x, y); // 输入错误时递归调用自身重新输入
        return;
    }
    double *p = arr + (a - 1) * y + (b - 1);
    printf("%f\n", *p);
}
int main() {
    double ab[9][99] = { 0 };
    int a, b;
    printf("输入二维数组的行数。\n");
    scanf_s("%d", &a);
    printf("输入二维数组的列数。\n");
    scanf_s("%d", &b);
    printf("依次输入二维数组的元素。\n");
    for (int i = 0; i < a; i++) {
        for (int j = 0; j < b; j++) {
            scanf_s("%lf", &ab[i][j]);
        }
    }
    printElement(&ab[0][0], a, b);
    
    return 0;
}
这个有指针了
 | 
 |