| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:指针函数
只看楼主 加入收藏
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
指针函数
main()
{
    float score[3][4]={10,20,30,40,50,60,70,80,90,100,110,120};
    float *search(float (*pointer)[4]);
    float *p;
    int i,j;
    for(i=0;i<3;i++)
     {p=search(score+i);
       if(p==*(score+i))
        {printf("No.%d scores :",i);
          for(j=0;j<4;j++)
            printf("%5.2f  ",*(p+j));
         printf("\n");
        }
     }
}
float *search(float (*pointer)[4])
{
    int i;
    float *pt=*(pointer+1);
    for(i=0;i<4;i++)
       if(*(*pointer+i)<60) pt=*pointer;
    return (pt);
}
请前辈们帮解释下上面两句是什么意思啊,请尽量用简单一点的话,多谢了。
搜索更多相关主题的帖子: 指针 函数 
2009-08-30 07:26
西园竹
Rank: 5Rank: 5
等 级:职业侠客
帖 子:41
专家分:305
注 册:2009-8-8
收藏
得分:10 
float *search(float (*pointer)[4]);/*pointer是一个长度为4的数组指针*/
float *pt=*(pointer+1); /*pt是一个指针,指向pointer的第二个元素(pointer的元素是长度为4的数组)*/
if(*(*pointer+i)<60) pt=*pointer;/* *pointer是一个指针,指针+i等效于偏移i个指针类型,然后外面加一个*变成了float类型 */
这个函数的功能很别扭,作用是在一个二维浮点数组中,查找第一维中最后一个小于60的元素,如果找不到,则返回下一维的首地址

2009-08-30 08:19
zhengzhihui
Rank: 2
来 自:汕头大学
等 级:论坛游民
帖 子:36
专家分:57
注 册:2009-7-4
收藏
得分:10 
main()
{
    float score[3][4]={10,20,30,40,50,60,70,80,90,100,110,120};
    float *search(float (*pointer)[4]);
    float *p;
    int i,j;
    for(i=0;i<3;i++)
     {p=search(score+i);
       if(p==*(score+i))   /*判断函数返回值是否等于实参,若不相等说明该行中没有小于60的数,循环到下一行*/
        {printf("No.%d scores :",i);
          for(j=0;j<4;j++)
            printf("%5.2f  ",*(p+j));
         printf("\n");
        }
     }
}
float *search(float (*pointer)[4])
{
    int i;
    float *pt=*(pointer+1);  /*如果该行中没有小于60的数,则返回下一行的首地址*/
    for(i=0;i<4;i++)
       if(*(*pointer+i)<60) pt=*pointer; /*查找一行中有无小于60的数,有则把该行的首地址赋给pt,再返回*/
    return (pt);
}
该函数的思路是这样的:
1把第一行的首地址(比如2000)作为实参;2在函数中判断是否在该行中是否有小于60的数,如有则把该地址(2000)也赋给pt,如没有则把下一行的地址(如2001)赋给pt,返回pt值;
3如果返回值等同于实参,则表明这一行中有小于60的数,输出该行所有数值,否则循环到下一行。
2009-08-30 15:28
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
谢谢二位了

参与切磋是美德,每天回帖即可获得10分可用分!
2009-08-30 18:51
快速回复:指针函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025805 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved