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

#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
dainichuhai
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-10-14
收藏
得分:0 

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


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



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012991 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved