c - 使用数组作为函数参数

标签 c arrays function parameters

我是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/

相关文章:

c# - 在 JavaScript 中引用 C# 变量

c - 在 C 中初始化 int 数组而不分配值

c - while(*pointer) 在 C 中合法吗?

c - 数组的长度在传递函数后发生变化

python - 返回最常见的小写字母并按字母顺序排列

c# - 包含函数和可选参数的字典

c - 索拉里斯 8-10 : host2ip conversion problems

c - 这是编译器仅通过使用位运算来划分的方式吗?

arrays - 算法逻辑,拆分数组

c++ - 计算快速排序 C++ 中的比较和移动次数