WFR 发表于 2020-2-5 17:43:52

求大神来解决

#include<stdio.h>
//这个文件的目的是输入编号出成绩
main()
{
        int a, i, *p;
        int H[] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5, }, { 3, 4, 5, 6 }, { 4, 5, 6, 7 } };
        int *fun(int(*p), int);
        scanf_s("%d", &i);
        p = fun(H, i);
        for (a = 0; a < 4; a++)
        {
                printf("%d", *(p + i));
                printf("/t");
        }

}
int *fun(int (*H), int m)
{
        int *pi;
        pi = *(pi + m);这里一直显示pi未初始化是什么鬼???并且显示等号数据两侧间接级别不同
        return pi;

}

一个账号 发表于 2020-2-5 17:58:35

改成这样试试(我没试过):
#include<stdio.h>
//这个文件的目的是输入编号出成绩
int *fun(int (*H), int m);

int main()
{
      int a, i, *p;
      int H[] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5, }, { 3, 4, 5, 6 }, { 4, 5, 6, 7 } };
      int *fun(int(*p), int);
      scanf_s("%d", &i);
      p = fun(H, i);
      for (a = 0; a < 4; a++)
      {
                printf("%d", *(p + i));
                printf("/t");
      }
      
      return 0;

}
int *fun(int (*H), int m)
{
      int *pi;
      pi = *(pi + m);
      return pi;

}

最后的魁拔 发表于 2020-2-5 18:20:13

#include<stdio.h>
#include<stdlib.h>
//这个文件的目的是输入编号出成绩
int *fun(int (*H), int m);

int main()
{
      int a, i, *p;
      int H[] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5, }, { 3, 4, 5, 6 }, { 4, 5, 6, 7 } };
      int *fun(int(*p), int);
      scanf("%d", &i);
      p = fun(H, i);
      for (a = 0; a < 4; a++)
      {
                printf("%d ", *(p + a));
               
      }
      system("pause");
      return 0;

}
int *fun(int (*H), int m)
{
      int *pi;
      pi = *(H + m);
      return pi;

}
可以运行的代码

WFR 发表于 2020-2-5 20:06:39

非常感谢
页: [1]
查看完整版本: 求大神来解决