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函数要怎么做?
} 展开
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函数要怎么做?
} 展开
6个回答
展开全部
首先fact函数返回的是double类型,第一个参数是double型的二维指针.所以是
*c[i] = fact (c,y,z);
因为double *c[3];是二维double指针,
c[i]是一个double一维指针,*c[i]就是double型数据。c是二维指针,可以传过去
*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型变量
展开全部
*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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(&C,y,z) c是数组的名字也就是首地址,地址的地址就是二级指针,类型相同,参数就能传递函数就能调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fact函数返回值是double类型,那么定义一个double类型的变量,直接调用函数就行
double i;
i=fact(参数1,2,3);
double i;
i=fact(参数1,2,3);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*c[i]=fact(c,y,z);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询