8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在 c 中反转数组

Howcanoe Wang 2月前

31 0

我查看了一些关于用 C 语言反转数组的视频,因此我知道我的逻辑是正确的。这是我的代码:#include void reverse(int arr[],unsigned int len){int i=0;int n=le...

我查看了一些用 C 语言反转数组的视频,因此我知道我的逻辑是正确的。这是我的代码:

#include <stdio.h>
void reverse( int arr[], unsigned int len )
{
int i=0;
int n=len;
int j=len-1;
int temp;

while (i<n) 
    {
        temp=arr[i];
        arr[i]=arr[j];
        arr[j]=temp;
        i++;
        j--;
    }
}

void reverse( int arr[], unsigned int len ); 

int main( void )
{
  int a[] = {11, 19, 13};
  unsigned int len = 3;

  reverse( a, len );

  int k=0;
  for( k=0; k<len; k++ )
  {   
     printf( "%d ", a[k] );
  }
  printf( "\n" ); 

  return 0;
}

它输出相同的数组。我找不到问题出在哪里。我应该为函数返回一些内容 reverse 吗?

帖子版权声明 1、本帖标题:在 c 中反转数组
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Howcanoe Wang在本站《arrays》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您正在反转数组两次;这就是为什么您得到原始数组。

    怎么做?以一个包含 10 个元素的数组为例。第一步,你将交换第 0 个和第 9 个元素。最后一步,你将交换第 9 个和第 0 个元素。最终结果:没有变化。

    你不想运行 i n 。你想运行 i j ,这样你就不会交换元素(即改变条件为 while (i < j) { ... } )

返回
作者最近主题: