我是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;
}
最佳答案
只需要走到数组的中间,如果走多了,就重新反转数组:
所以这样:
for(k=length-1,j=0;k>=0&&j<length;k--,j++){
应该是:
for(k=length-1,j=0;k > j;k--,j++){
关于c - 使用数组作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824983/