69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<cstdlib>
void invert(int*p,int n);
int main()
{
int i,m;
printf("please input the length of the arrary:");
scanf("%d",&i);
int *array=(int *)malloc((i+1)*sizeof(int));
//for (m=0;m<=i;m++) 越界了
for(m=0; m<i; m++){
scanf("%d",&array[m]);
}
invert(array,i);
printf("the inverted arrary is:");
//for(m=0;m<=i;m++)
for(m=0; m<i; m++){
printf("%d",*(array+m));
}
free(array);
system("pause");
return 0;
}
void invert(int*p,int n)
{
int *k, *d = p;
int temp,j=n-1;
k=p+n/2;
for(;p<k;p++,j--)
{
temp=*p;
*p=*(d+j);
*(d+j)=temp;
}
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
void invert(int*p,int n);
int i;
int m;
printf("please input the length of the arrary");
/*scanf("i=%d",&i);*/
scanf("%d", &i);
/*int array[i];*/
int *array = (int *)malloc(i * sizeof(int));
/*for (m=0;m<=i;m++)*/
for (m=0;m<i;m++)
scanf("%d",&array[m]);
invert(array,i);
printf("the inverted arrary is:");
/*for(m=0;m<=i;m++)*/
for(m=0;m<i;m++)
printf("%d ",array[m]);
free(array);
system("pause");
return 0;
}
void invert(int*p,int n)
{
int *k, *d = p;
int temp,j=n-1;
k=p+n/2;
for(;p<k;p++,j--)
{
temp=*p;
*p=*(d+j);
*(d+j)=temp;
}
}