C语言 使一个数组逆序输出

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:10:11
#include<stdio.h>

void fac(int *p,int n)
{ int *q,t;
q=p+n-1;
while(p<q)
{t=*p;*p=*q;*q=t;p++;q--;}

void main()
{int a[10],*p,i;
p=a;
for(i=0;i<10;i++)
scanf("%d",p+i);
fac(a,10);
p=a;
for(i=0;i<10;i++)
printf("%d",*(p+i));}

哪错了?

#include<stdio.h>

void fac(int *p,int n)
{ int *q,t;
q=p+n-1;
while(p<q)
{t=*p;*p=*q;*q=t;p++;q--;}
}//这掉了个大括号~
void main()
{int a[10],*p,i;
p=a;
for(i=0;i<10;i++)
scanf("%d",p+i);
fac(a,10);
p=a;
for(i=0;i<10;i++)
printf("%d ",*(p+i));
}

简单写好不好
逆序输出不就是
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=9;i>=0;i--)
printf("%d",a[i]);

fac函数少打了个大括号
void fac(int *p,int n)
{ int *q,t;
q=p+n-1;
while(p<q)
{t=*p;*p=*q;*q=t;p++;q--;} }