C语言中一维数组作为函数参数传递的问题!?!?!?!?!?
inta[4]={1,2,3,4};//定义一个有变量的一维数组.........................voidfun(a[4]);{intx=a[1];int...
int a[4]={1,2,3,4}; //定义一个有变量的一维数组
.............
............
void fun(a[4]);
{
int x=a[1];
int y=a[2];
.......
}
为什么X和Y无法用传进来的数组赋值?怎么错了。。需要怎么改啊?麻烦大家了!! 展开
.............
............
void fun(a[4]);
{
int x=a[1];
int y=a[2];
.......
}
为什么X和Y无法用传进来的数组赋值?怎么错了。。需要怎么改啊?麻烦大家了!! 展开
展开全部
参数3中传递方式.
值传递,址传递, 引用传递.
后两者 才是对传入的参数的实际操作.
第一个是 操作的 传入参数的拷贝副本.
值传递,址传递, 引用传递.
后两者 才是对传入的参数的实际操作.
第一个是 操作的 传入参数的拷贝副本.
追问
麻烦告诉我怎么改可以吗?
追答
void fun(int a[4]);
void main()
{
int a[4] = {1,2,3,4};
fun(a);
}
void fun(int a[4])
{
int x = a[1];
printf("%d\n",x);
int y = a[3];
printf("%d\n",y);
}
展开全部
void fun(a[4]);你这传的是数组的第4个元素啊,又不是传的数组
追问
哦,这样啊,那怎么改呢,能告诉我吗?
追答
int a[4]={1,2,3,4};
void fun(int a[])
{
int x=a[1];
int y=a[2];
......
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组只是传递地址过去,所以void fun(a[4]);不对,这里只是传递了a[4]这个数据过去了,还是越界的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun函数里面的参数不对吧,改为a[]试一试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询