70,022
社区成员




#include<stdio.h>
int main()
{
void reverse(int *p,int n);
int a[10] ,i,n;
printf("Enter n :");
scanf("%d",&n);
printf("Enter n digits:");
for(i = 0;i < n;i ++)
scanf("%d",&a[i]);
reverse(a,n);
printf("After reverse:");
for(i = 0;i < n; i ++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
void reverse(int *p,int n)
{
int *pj,t,m,*pi;
m = n / 2; // 改成这个
pi = p;
pj = p + n - 1;
for(; pi < p +m;pi ++,pj --) // 加上大括号
{
t = *pi;
*pi = *pj;
*pj = t;
}
}
#include<stdio.h>
int main()
{
void reverse(int *p,int n);
int a[10] ,i,n;
printf("Enter n :");
scanf("%d",&n);
printf("Enter n digits:");
for(i = 0;i < n;i ++)
scanf("%d",&a[i]);
reverse(a,n);
printf("After reverse:");
for(i = 0;i < n; i ++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
void reverse(int *p,int n)
{
int *pj,t,m,*pi;
if(n % 2 == 0) // 加了个if
m = n / 2;
else
m = n / 2 - 1;
pi = p;
pj = p + n - 1;
for(; pi < p +m;pi ++,pj --) // 你源代码没加大括号
{
t = *pi;
*pi = *pj;
*pj = t;
}
}