cannot convert from 'double' to 'double *',,为什么啊~

double*cheng(doublea[31],doubleb[31]){doublecheng[31];inti=0;for(i=0;i<31;i++)cheng[i... double* cheng(double a[31],double b[31])
{
double cheng[31];
int i=0;
for(i=0;i<31;i++)
cheng[i]=a[i]*b[i];
double *p;
p=cheng[0];
return p;
}

提示C:\Windows\System32\uiyj.cpp(64) : error C2440: '=' : cannot convert from 'double' to 'double *'

指针引用时候也报错了
double *p1,*p2;
p1=cheng[x,y];
for(i=0;i<31;i++)
xy[i]=*(p1+i);
p2=cheng[x,x];
for(i=0;i<31;i++)
x2[i]=*(p2+i);

提示说
C:\Windows\System32\uiyj.cpp(20) : error C2107: illegal index, indirection not allowed
第二个问题解决了,,应该是 p1=cheng{x,y};。。
第一个继续求助。。。》-《
展开
 我来答
笃侠6A
2012-09-21 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3279万
展开全部
我觉得cheng函数写成下面的样子较好:
void cheng(double a[],double b[],double c[], int n)
{
int i=0;
for(i=0;i<n;i++)
c[i]=a[i]*b[i];
return ;
}
追问
没有return的值我怎么算啊。。cheng,就是中文,乘= =
frankxieke
2012-09-21 · 计算机专业相关文档分享
frankxieke
采纳数:104 获赞数:253

向TA提问 私信TA
展开全部
  1. p=cheng[0];----》p = &cheng[0];但是由于cheng[31]是一个局部变量只在cheng()函数里面有效,你返回的指针实际是没有用滴。

  2. p1=cheng[x,y];-----》这个是什么啊??函数吗???如果是函数的话,应该是cheng(x,y)啊

追问
那我应该怎么改,,把cheng[31]这个数组返回函数里?
追答
你可以定义一个全局变量叫做chengji[31],然后cheng()函数中直接用这个数组就行了,在main函数中也可以直接用计算后结果了。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式