写函数实现整数数组的逆序存储,在主函数中输入输出数组,在调用函数中实现逆序存储

# include <stdio.h>
# include <string.h>
int f(int a[])
{
int n,t,i=0;
while(i<(n-1-i))
{
t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;
i++;
}
}
main()
{
int exchange[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&exchange[i]);
f(exchange);
for(i=0;i<10;i++)
printf("%5d",exchange[i]);
}
高人给指点一下怎么就错了

# include <stdio.h>
# include <string.h>
void f(int a[],int n) //用不着返回值。需要传数组长度为参数
{
int t,i=0;
while(i<n/2) //遍历一半就行了
{
t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;
i++;
}
}
main()
{
int exchange[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&exchange[i]);
f(exchange,10); //调用时加长度参数
for(i=0;i<10;i++)
printf("%5d",exchange[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-22
f函数里没有指定n的初值
相似回答