#include <stdio.h>
void inv(int*x,int n)
{
int *p,temp,*i,*j,m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)
{temp=*i;*i=*j;*j=temp;}
return;
}
void mian()
{int i,a[10]={3,7,9,111,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
inv(a,10);
printf("The array has been inverted:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
}
----------------解决方案--------------------------------------------------------
这是谭浩强C语言的的原题,不过我用的编译器是VC++6.0,编译没有出错。运行是有2个erroe 大家看下是什么原因!谢谢
----------------解决方案--------------------------------------------------------
void mian()// main?
----------------解决方案--------------------------------------------------------
惭愧。。。错别字额。。。
----------------解决方案--------------------------------------------------------
void inv(int*x,int n) 既然是void,为什么还有return????
----------------解决方案--------------------------------------------------------
#include <stdio.h>
inv(int*x,int n)
{
int *p,temp,*i,*j,m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)
{temp=*i;*i=*j;*j=temp;}
return;
}
void main()
{int i,a[10]={3,7,9,111,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
inv(a,10);
printf("The array has been inverted:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
}
改好了....
----------------解决方案--------------------------------------------------------
void inv(int*x,int n) 既然是void,为什么还有return????
本来准备先写主函数的。..后来又.....
[此贴子已经被作者于2007-10-18 8:11:51编辑过]
----------------解决方案--------------------------------------------------------