我查看了一些关于用 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 吗?
在 c 中反转数组
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!
#include <stdio.h>
void reverse( int arr[],int i,int j );
void reverse( int arr[], int i,int j )
{
int temp;
while (i<j)
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
i++;
j--;
}
}
int main()
{
int arr[] = {11, 19, 13};
int len=sizeof(arr)/sizeof(arr[0]);
int i=0;
int j=len-1;
reverse( arr,i,j);
for (int k=0; k <len; k++)
printf("%d ", arr[k]);
return 0;
}