| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:又一个指针问题
只看楼主 加入收藏
dainichuhai
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-10-14
收藏
 问题点数:0 回复次数:2 
又一个指针问题

#include<stdio.h>
main()
{
float *search(float (*pointer)[4]);
float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
float *p;
int j,i,m;

for(j=0;j<3;j++)
{ p=search(score+j);
if(p==score+j)
{printf("The No.%d: ",j);
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i));------------------这里点*(p+i)用*(*(score+j)+i)或*(*p+i)都好理解,为什么
} *(*p+i)却不能通过编译呢???错误:说非法使用浮点数;
printf("\n"); 而且*(p+i)我觉得应该等于*(score+j+i);是不能通过编译
} 的,而事实恰好相反;我的理解哪里出错了?
getch();
}
float *search(float (*pointer)[4])
{int i; float *pt;

pt=pointer+1;
for(i=0;i<4;i++)
if(*(*pointer+i)<60)
pt=pointer;
return (pt);
}
这个程序本身能通过编译,而且能输出正确的结果,但偶对红色部分不太了解,请路过的朋友
指教指教,不胜感激!!!!!


搜索更多相关主题的帖子: 指针 
2007-06-17 00:01
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
*(*p+i)
因为 *p 是个浮点数, 不是地址

人生重要的不是所站的位置,而是所朝的方向
2007-06-17 00:29
dainichuhai
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-10-14
收藏
得分:0 

谢谢herbert_1987一语点破偶这个愚蠢错误.


2007-06-17 01:05
快速回复:又一个指针问题
数据加载中...
 
   



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

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