求大神来解决
#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;
} 改成这样试试(我没试过):
#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;
} #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;
}
可以运行的代码 非常感谢
页:
[1]