|  | 
 
| 
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  复制代码#include <stdio.h>
double er(double abcd[][99], int x, int y)
{
        int a, b;
        double* p[99];
a:
        printf("输入你要打印的元素。(格式:行,列)\n");
        scanf_s("%d,%d", &a, &b);
        if (a > x || b > y)
        {
                printf("你输入的行或者列错误。");
                goto a;
        }
        p[98] = *abcd;
        printf("%f", *(*(p+a-1)+(b-1)));//**************在这里他说读取位置错误
        return(0);
}
void main()
{
        double ab[9][99] = { 0 };
        int a, b;
        int d = 0, f = 0;
        printf("输入二维数组的行数。\n");
        scanf_s("%d", &a);
        printf("输入二位数组的列数。\n");
        scanf_s("%d", &b);
        printf("依次输入二维数组的元素。\n");
        for (;d < a;d++)
        {
                for (;f < b;f++)
                {
                        scanf_s("%lf", &ab[d][f]);
                }
                f = 0;
        }
        er(ab, a, b);
}
 如题,想问问要怎么改,头大
 
复制代码#include <stdio.h>
void printElement(double (*arr)[99], 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;
    }
    printf("%f\n", arr[a-1][b-1]);
}
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, a, b);
    
    return 0;
}
 | 
 |