首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言有趣的数组指针,该如何处理

2012-05-27 
C语言有趣的数组指针使用三个数组。第三个数组的元素用EXTEND的含指针函数计算而得,报错为cannot convert p

C语言有趣的数组指针
使用三个数组。第三个数组的元素用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);

}

[解决办法]
首先,楼主你还知道C语言里面有个关键字叫extend么??你知道关键字不允许作为自定义变量名,函数名么?
其次是你定义的函数和申明的函数都不一样,居然调用还又是另外一种风格。下面是你的定义,申明和调用!如果想申明指针为指针,那你就直接申明为指针吧。直接写个double,编译器会认为是double变量的。
void extend(double , double ,double );
void extend(double *p, double *q,double *a)
extend(price,quantity,amount);
[解决办法]
void extend(double , double ,double );
应该是
void extend(double *, double* ,double* );

热点排行