#include<stdio.h>
void fun(int a[],int m)
{
int i,temp;
for(i=0;i<m;i++)
{temp=a[i];a[i]=a[m-i-1];a[m-i-1]=temp;}
}
void main()
{int x[5]={9,8,7,6,5},i;
fun(x,5);
for(i=0;i<5;i++)
printf("%4d",x[i]);
}
这是一个把数组中的数倒置的程序,请问为什么这么编程数组没有倒置呢?
#include<stdio.h>
void fun(int a[],int m)
{
int i,temp;
for(i=0;i<m;i++)
{temp=a[i];a[i]=a[m-i-1];a[m-i-1]=temp;}
}
void main()
{int x[5]={9,8,7,6,5},i;
fun(x,5);
for(i=0;i<5;i++)
printf("%4d",x[i]);
}
这是一个把数组中的数倒置的程序,请问为什么这么编程数组没有倒置呢?
在前半段(i<3),已经倒置完成了。后半段你又把它还回去了。
循环到i<m/2就够了
试一下吧。希望你满意