首页 新闻 会员 周边

返回指针值的函数

0
[已解决问题] 解决于 2018-08-16 19:04

程序1

#include<stdio.h>
int main()
{
 float * search (float (* pointer)[4] , int n);
 float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
 float *p;
 int i, m;
 printf("输入学生学号\n");
 scanf("%d",&m);
 printf("The scoer of No.%d are:\n",m);
 p=search(score,m);
 for(i=0; i<4; i++);
 printf("%5.2f\n",*(p+i));
 printf("\n");
 return 0;
}
float * search (float (* pointer)[4] , int n)
{
float * pt;
pt=* (pointer+n);
return (pt);
}
 
 
程序2
 
#include <stdlib.h>
 int main()
{
    float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
    float *search(float (*pointer)[4],int n);       //函数声明
    float *p;
    int i,m;
    printf("enter the number of student:");
    scanf("%d",&m);
    printf("The score of No.%d are:\n",m);
    p = search(score,m);                            //函数调用
    for(i=0;i<4;i++)
        printf("%5.2f\t",*(p+i));
    printf("\n");
    return 0;
}
float *search(float (*pointer)[4],int n)
{
    float *pt;
    pt = *(pointer+n);
    return(pt);
}
 
 
 
程序1运行结果不对;
程序2是正确的;
原因找不出呢;
求解;
白日做梦。的主页 白日做梦。 | 菜鸟二级 | 园豆:214
提问于:2018-08-14 22:21

小龙(&gt;^ω^&lt;)喵 5年前
< >
分享
最佳答案
0

程序1

#include<stdio.h>
int main()
{
 float * search (float (* pointer)[4] , int n);
 float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
 float *p;
 int i, m;
 printf("输入学生学号\n");
 scanf("%d",&m);
 printf("The scoer of No.%d are:\n",m);
 p=search(score,m);
 for(i=0; i<4; i++);
 printf("%5.2f\n",*(p+i));
 printf("\n");
 return 0;
}
float * search (float (* pointer)[4] , int n)
{
float * pt;
pt=* (pointer+n);
return (pt);
}
 
红色字体 把for后面的;去掉
 
 
 
白日做梦。 | 菜鸟二级 |园豆:214 | 2018-08-15 21:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册