我有一个函数来反转一个数组,我认为它也有一些问题。请引导我走正确的道路来解决这个问题。
功能:
void reversearr (int arr[], int arrlen)
{
int a, b, arrtemp[arrlen];
b=arrlen;
for (a=0; a<=arrlen; a++)
{
arr[a] = arrtemp[b];
b--;
}
printf("\nthe reversed array is");
for(b=0; b<arrlen; b++)
{
printf("%d",arrtemp[b]);
}
}
函数是这样调用的
reversearr(arr,max);
最佳答案
void reversearr (int arr[], int arrlen)
{
int a, tmp;
for (a = 0; a < arrlen / 2; ++a)
{
tmp = arr[a];
arr[a] = arr[arrlen - a - 1];
arr[arrlen - a - 1] = tmp;
}
}