| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 867 人关注过本帖
标题:[求助] 有关指针的错误
只看楼主 加入收藏
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
以下是引用张含韵在2006-8-10 9:00:04的发言:

#include <stdio.h>
#include <stdlib.h>
void search(float *p,int n)
{

int i;
printf("the scores of NO.%d\n",n);
for (i=0;i<3;i++)
printf("%4.2f\t",*(*(p+n)+i)); \\就是这个地方。
}

main()
{

float score[3][3]={{65,67,69},{80,86,84},{50,90,76,}};
search(*score,2);=====>应该改成sorce,因为传送的是数组名的首地址!
system("PAUSE");

}
小女子先谢谢了~~



[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-08-10 10:17
djq9436
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-8-9
收藏
得分:0 
因为你实参(*score)传递的是一个列地址,表示0行0列;你自己写的函数里把p当作是指向行地址了

void search(float *p,int n)
{

int i;
printf("the scores of NO.%d\n",n);
for (i=0;i<3;i++)
printf("%4.2f\t",*(p+3*n+i)); \\这里改下应该可以了
}
2006-08-10 10:22
快速回复:[求助] 有关指针的错误
数据加载中...
 
   



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

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