| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1170 人关注过本帖
标题:指针函数的问题
只看楼主 加入收藏
月祭樱冢
Rank: 2
等 级:论坛游民
帖 子:83
专家分:97
注 册:2013-7-15
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:10 
指针函数的问题
程序代码:
 #include<stdio.h>
int main()
{float score[][4]={{60,70,66,88},{53,61,90,56},{57,67,80,54}};
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 score:",i+1);
for(j=0;j<4;j++)
printf("%5.2d",(*p+j));
printf("\n");
}
}return 0;
} 

float * search(float (*pointer)[4])
{int i=0;
float * pt;
pt=NULL;
for(;i<4;i++)
if(*(* pointer+i)<60) pt=* pointer;
return(pt);
}
这程序哪错了  为什么运行结果只有一行 Press any key to continue


[ 本帖最后由 月祭樱冢 于 2013-8-11 10:53 编辑 ]
搜索更多相关主题的帖子: color 
2013-08-11 10:08
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
debug试一下
2013-08-11 10:09
may大象
Rank: 2
等 级:论坛游民
帖 子:55
专家分:38
注 册:2013-5-30
收藏
得分:2 
函数search(float (*pointer)[4])?在哪呢?

                             凡成大事者,各有各的方法论。
2013-08-11 10:42
月祭樱冢
Rank: 2
等 级:论坛游民
帖 子:83
专家分:97
注 册:2013-7-15
收藏
得分:0 
回复 3楼 may大象
额 忘写进去了 已经修改了 你再看看

算法是程序的灵魂
2013-08-11 10:55
北辰风
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2013-1-14
收藏
得分:0 
有点不懂!
2013-08-11 10:58
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:0 
最明显的两个错误先改下看看:
1,不要返回临时变量
2,   改成 if(p==* (score+i))

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-11 11:09
may大象
Rank: 2
等 级:论坛游民
帖 子:55
专家分:38
注 册:2013-5-30
收藏
得分:0 
回复 6楼 liufashuai
if(*(* pointer+i)<60)  可以改成if(*(* (pointer+i))<60)吗?

                             凡成大事者,各有各的方法论。
2013-08-11 11:25
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:8 
程序代码:
没什么大问题,就是输出的时候浮点数 不要以整型输出,因为内存中浮点数和整型的存储方式不同!
还有,代码写标准一点,给人一看很整齐,很舒服的样子

#include<stdio.h>

float * search(float (*pointer)[4])
{
    int i=0;
    float * pt;
    pt=NULL;

    for(;i<4;i++)
        if(*(* pointer+i)<60)
            pt=* pointer;
    return(pt);
}



int main()
{
    float score[][4]={{60,70,66,88},{53,61,90,56},{57,67,80,54}};
    float * search(float (*pointer)[4]);
    float * p = NULL;
    int i,j;

    for(i=0;i<3;i++)
    {
        p=search(score+i);
        if(p==*(score+i))
        {
            printf("No.%d score:",i+1);
            for(j=0;j<4;j++)
                printf("%5.2f  ",*(p+j));
            printf("\n");
        }
    }
    return 0;
}

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-11 11:26
h13352825861
Rank: 2
来 自:中国
等 级:论坛游民
威 望:1
帖 子:39
专家分:72
注 册:2013-8-8
收藏
得分:0 
这里有二维数组指针最完整的资料!
http://blog.

相信汗水会让未来充满满了阳光!
2013-08-11 12:43
netaa001
Rank: 2
等 级:论坛游民
帖 子:73
专家分:69
注 册:2013-8-5
收藏
得分:0 
指针数组啊,哪来的指针函数?
2013-08-11 15:31
快速回复:指针函数的问题
数据加载中...
 
   



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

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