C语言中定义一个函数,变量是指向指针的变量,调用时要怎么调用? 20

假设在一个程序里定义了一个函数doublefcat(double**x,inty,intz){...}main(){doublea[3][3]={1,2.3,4,5,6,... 假设在一个程序里定义了一个函数
double fcat(double **x, int y, int z)
{
...
}
main()
{
double a[3][3]={1,2.3,4,5,6,7,8,9};

double *c[3]={a[0],a[1],a[2]};
*c[i]=fact(????,y,z); 这里要调用fact函数要怎么做?
}
展开
 我来答
百度网友a2f2a79
2014-04-26 · 超过22用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:54万
展开全部
首先fact函数返回的是double类型,第一个参数是double型的二维指针.所以是
*c[i] = fact (c,y,z);
因为double *c[3];是二维double指针,
c[i]是一个double一维指针,*c[i]就是double型数据。c是二维指针,可以传过去
追问
那如果fact里的第一个变量要应用的是a[3][3]这个函数呢? 二重循环里  用fact(a[i][j],y,z)吗
追答
a[3][3]只是二维数组,不是二维指针。应用a[3][3]会出错。二维指针存储的是指针类型变量,二维数组存储的是double型变量
elichn
2014-04-26 · TA获得超过229个赞
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:130万
展开全部

*c[i]=fact(c,y,z);

示例:

double fcat(double **x, int y, int z)
{
int i, j;
for (i = 0; i < y; i++)
{
for (j = 0; j < z; j++)
{
printf("%lf ", x[i][j]);
}
printf("\n");
}
return 0;
}

int main(int argc, char* argv[])
{
int y = 3, z =3;
double a[3][3]={1,2,3,4,5,6,7,8,9};
    double *c[3]={a[0],a[1],a[2]};
    *c[0] = fcat(c, y, z);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扯淡书生
2014-04-26 · TA获得超过122个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:102万
展开全部
(&C,y,z) c是数组的名字也就是首地址,地址的地址就是二级指针,类型相同,参数就能传递函数就能调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顽强的椒草
2014-04-26 · 超过17用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:40.8万
展开全部
fact函数返回值是double类型,那么定义一个double类型的变量,直接调用函数就行
double i;
i=fact(参数1,2,3);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
被雨困住的我S
2014-04-26
知道答主
回答量:21
采纳率:0%
帮助的人:4.7万
展开全部
*c[i]=fact(c,y,z);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式