#include <stdio.h>
int main()
{ int i,n=5,t,x[]={1,3,5,7,9};
for(i=0;i<n/2;i++)
{ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t; }
for(i=0;i<n;i++)printf("%2d",*(x+i));
}
这个程序不太看得懂 谁能帮我解释一下for后面语句的含义
首先,for(a;b;c),a只初始化执行一次;b每次循环前执行,如果是1就继续执行,0就退出循环;c每次循环结束执行一次
再看循环体里面,这是典型的a=b;b=c;c=a,是用来交换2个数值的代码,t是个临时变量,用来保存数值
那么谁和谁交换呢,就是x[i]和x[n-i-1]交换
那么随着i从0开始增大,n-i-1一开始是n-1,它会逐渐减小
那么其实就是头尾互换
第一个for循环就是对应位置的数据互换,比如说1 9 互换,3 7 互换位置
第二个for循环,通过指针的方式,输出换位置后的数据