c语言指针问题,这段代码哪里有问题为什么输出的都是地址

2025-04-03 07:10:17
推荐回答(2个)
回答1:

p1=score[0];//可以这样用?

printf("请选择输出第几位学生的成绩1~3:");
scanf("%d",&i); //这句改为scanf("%d",i);
printf("第%d个学生的成绩:",i);
search(p+i-1); //这句改为search(p+i)
//---------------------------------------------
int search(int (*p)[4]){ //函数里的

printf("%d",*(*p0+i));//这句改为 printf("%d",*(p0+i));

回答2:

int search(int (*p)[4]){
int i=0;
int (*p0)[4];
p0=p;
for(i=0;i<4;i++){
printf("%d",*(*p0+i));
}
printf("\n");
}

改 为
int search(int *p)
{
int i=0;
int (*p0)[4];
//p0=p;
for(i=0;i<4;i++)
{
printf("%d ",*p++);
}
printf("\n");
}
search(p+i-1); 改为 search(score[i-1]);