C语言这里面的m=(n-1)/2和j=n-1-i中的n-1是什么意思??
#include<stdio.h>voidmain(){voidinv(intx[],intn);inti,a[10]={3,7,9,11,0,6,7,5,4,2};pr...
#include<stdio.h>
void main()
{
void inv(int x[],int n);
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;
}
m=(n-1)/2。如果不要-1,m=n/2,不就刚好是数组元素的一半吗?-1不就是10-1/2了,不到一半了???? 望大牛帮忙解解 展开
void main()
{
void inv(int x[],int n);
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;
}
m=(n-1)/2。如果不要-1,m=n/2,不就刚好是数组元素的一半吗?-1不就是10-1/2了,不到一半了???? 望大牛帮忙解解 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询