我是c中的初学者。我不知道如何使用数组作为函数参数,参数或如何从函数返回数组。据我所知,下面的代码应该可以正常工作。但我无法得到问题所在。该功能不能正常工作。使用数组作为函数参数
//reversing an array using function
#include<stdio.h>
void rev(int array[],int length)
{
int k,j,temp;
for(k=length-1,j=0;k>=0&&j<length;k--,j++){
temp=array[k];
array[k]=array[j];
array[j]=temp;
}
}
int main()
{
int c,arr[]={1,2,3,4,5,6,7,8,9};
rev(arr,9);
for(c=0;c<9;c++){
printf("%d ",arr[c]);
}
return 0;
}
事实上,你*不能直接传递一个数组作为函数参数,或者返回一个作为函数结果。参数声明'int array []'实际上意味着'int * array',一个指针(这只适用于*参数声明)。建议阅读:[comp.lang.c常见问题](http://www.c-faq.com/)的第6部分。 – 2012-08-06 09:39:00