int z就出错了。int z = sizeof(arr);就行呀
while里面,交换数也出错了,不要用e,直接把arr[j]和arr[z-1-j]交换。l=arr[j];arr[j]=arr[z-1-j];arr[z-1-j]=l;j++;
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
如果满意我的回答,我会感谢你采纳我的回答。:)
#include <stdio.h>
#define N 5
int main()
{
int arr[N];
int* tail = arr + (N -1);
int* p = arr;
printf("Please enter %d numbers: ", N);
while (p <= tail)
scanf("%d", p++);
p = arr;
int* q = tail;
while (p < q) {
int t = *p;
*p++ = *q;
*q-- = t;
}
printf("Reversed numbers: ");
p = arr;
while (p <= tail)
printf("%d ", *p++);
printf("\n");
return 0;
}
// Output
Please enter 5 numbers: 1 2 3 4 5
Reversed numbers: 5 4 3 2 1