C语言:帮忙检查一下这道题~为什么错了~!

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:20:21
写一个函数change(int array[],int n),可以把数组array中的那个元素逆序存放~!
#include <stdio.h>
change(int array[],int n)
{
int i,t;
for(i=0;i<n/2;i++)
{
t=array[i];
array[i]=array[n-1-i];
array[n-1-i]=t;
}
}
void main()
{
int a[]={1,2,3,4,5,6},i;
for(i=0;i<6;i++)
{
printf("%d ",change(a,6));
}
}

核心代码改为
change(a,6);
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}

函数change就是将数组进行逆序,你在循环里调了6次,不又放回去了么

另外,那2位,自己搞懂再说话,数组是对地址进行操作,还有作用域的概念?

输出写的不对啊,要这样写
void main()
{
int a[]={1,2,3,4,5,6},i;
change(a,6);
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
}

change函数前面加个void
在main函数里,应该是先对数组逆序后,再打印结果:

int a[]={1,2,3,4,5,6},i;
change(a,6);
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}

拜托,要传指针啊
要不会就改a[]为全局变量看

变量的作用范围没搞清楚