C语言有趣的数组指针

永不剩饭的小DouDou 2012-05-24 04:06:29
使用三个数组。第三个数组的元素用EXTEND的含指针函数计算而得,报错为cannot convert parameter 1 from 'double [10]' to 'double'
小弟求解!望解释




#include<stdio.h>
void extend(double , double ,double );

int main()
{
double price[]={10.62,14.89,13.21,16.55,19.62,9.47,6.58,19.32,12.15,3.99};
double quantity[]={4,9.5,6,7.35,9,15.3,3,5.4,2.9,4.9};
double amount[10];
int j;


extend(price,quantity,amount);

for(j=0;j<10;j++)
printf("the element %d is %f\n",j,amount[j]);
return 0;
}
void extend(double *p, double *q,double *a)
{
int i;
for(i=0;i<10;i++)
*(a+i)=*(p+i)+*(q+i);

}
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
N_Sev7 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

首先,楼主你还知道C语言里面有个关键字叫extend么??你知道关键字不允许作为自定义变量名,函数名么?
其次是你定义的函数和申明的函数都不一样,居然调用还又是另外一种风格。下面是你的定义,申明和调用!如果想申明指针为指针,那你就直接申明为指针吧。直接写个double,编译器会认为是double变量的。
void extend(double , double ,double );
void……
[/Quote]
C语言里面有个关键字叫extend么??32个C语言关键字我咋没见过这个extend???extern???
hex1314 2012-05-24
  • 打赏
  • 举报
回复
extend(price,quantity,amount); price,quantity,amount三个都是数组,而在定义的时候确是double,所以编译都会报错。应把void extend(double , double ,double );申明改为
void extend(double *, double *,double *);
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
void extend(double , double ,double );
应该是
void extend(double *, double* ,double* );
[/Quote]

THX!that's my mistake!
nice_cxf 2012-05-24
  • 打赏
  • 举报
回复
void extend(double , double ,double );
应该是
void extend(double *, double* ,double* );
W170532934 2012-05-24
  • 打赏
  • 举报
回复
首先,楼主你还知道C语言里面有个关键字叫extend么??你知道关键字不允许作为自定义变量名,函数名么?
其次是你定义的函数和申明的函数都不一样,居然调用还又是另外一种风格。下面是你的定义,申明和调用!如果想申明指针为指针,那你就直接申明为指针吧。直接写个double,编译器会认为是double变量的。
void extend(double , double ,double );
void extend(double *p, double *q,double *a)
extend(price,quantity,amount);

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧