www.yixueqianyan.cn:一个C程序,请大家帮忙找错误.

来源:百度文库 编辑:高考问答 时间:2024/04/27 22:01:51
1、定义长度为10的整型一维数组,编写函数将数组中的元素按逆序存放,在主函数中输出结果。实参和形参都用指针变量
main()
{
int a[10],*p=a,i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("No.1 fails are:\n");
for( ;p<p+10;p++)
printf("%4d",*p);
p=a;
bar(p,10);
for( ;p<p+10;p++)
printf("%fd",*p);
}
bar(int *p1,int n)
{
int *x,*y,t;
y=p1+n-1;
x=p1;
for(; y!=x;y--;x++)
t=*x;*x=*y;*y=t;
}

1.bar定义在主函数之后,在使用前应该先声明
在main前添加声明语句:bar(int *p1,int n);

2.bar函数中的for语句中的条件应该是三个,你好像多了一个哦!
应该是:for(; y!=x;y--,x++) 吧!

for( ;p<p+10;p++)是死循环啊

printf("%fd",*p); fd好像不止4位吧

bar 应该是无返回值的void型吧 ,如果不声明,如果不注明类弄,则会被默认为是int型啊