c语言数组指针问题
来源:百度知道 编辑:UC知道 时间:2024/06/15 20:05:28
#include<stdio.h>
void main()
{
int i,a[10]={3,7,9,11,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)
{int temp,i,j,m=(n-1)/2;
for(i=0;i<=m;i++)
{j=n-1-i;
temp=x[i];x[i]=x[j];x[j]=temp;}
return;}
可以给我说说什么地方错了吗?
void main()
{
int i,a[10]={3,7,9,11,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)
{int temp,i,j,m=(n-1)/2;
for(i=0;i<=m;i++)
{j=n-1-i;
temp=x[i];x[i]=x[j];x[j]=temp;}
return;}
可以给我说说什么地方错了吗?
以下是我改后还有附上输出的结果图片,LZ应该是要把a[10]反序输出吧!你算法基本对了,把下面我提到3个小错误改一下就行了!见结果,已经实现了
#include<stdio.h>
void main()
{
void inv(int x[],int n);//错1:在mian函数调用inv函数必须声明,除非该函数置于main之前
int i,a[10]={3,7,9,11,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");
//错2:下面这个for语句后面应该不要;(分号),否则变成空循环了,就无法循环输出了,导致只有输出一个10
for(i=0;i<10;i++)//错3:for循环里面i<10后面,写错了,应该是;(分号)
printf("%d",a[i]);
printf("\n");
}
void inv(int x[],int n)
{
int temp,i,j,m=(n-1)/2;