问题遇到的现象和发生背景
程序功能是通过调用reverse()函数将数组中指定范围内的元素按逆序重新放置
问题相关代码,请勿粘贴截图
#include <stdio.h>
#define N 10
void reverse(int p, int a, int b)
{
int m,i,j,t;
m=(b-a)/2;
for(i=a;i<=m;i++)
{
j=b-i;
t=(p+i);
(p+i)=(p+j);
*(p+j)=t;
}
}
int main()
{
int a[N], i, begin, end;
for (i=0; i<N; i++)
scanf("%d",&a[i]);
scanf("%d%d",&begin,&end);
reverse(a, begin, end);
for (i=0; i<N; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
运行结果及报错内容
测试输入:
1 5 3 4 8 0 6 9 12 13
1 8
我的解答思路和尝试过的方法
实际输出
1 9 6 0 8 4 3 5 12 13
我想要达到的结果
1 12 9 6 0 8 4 3 5 13