今天分享给大家一个实现逆序输出数组的程序。咱们先上代码

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#define M 10
int main()
{
   
	int a[M], m, n, temp;
	for (m = 0; m < M; m++)
		scanf("%d", &a[m]);
	m = 0;
	n = M - 1;
	while (m < n)
	{
   
		temp = a[m];
		a[m] =a[n];
		a[n] = temp;
		m++;
		n--;
	}
	for (m = 0; m < M; m++)
		printf("%d ", a[m]);
	return 0;
}

运行结果如图

注意n=M-1.因为下标是从0开始的。
我们来看这个程序,while循环第一次交换了a[0]和a[9],也就是第一位数和第十位数。第二次循环交换了a[1]和a[8],也就是第二位数和第九位数,以此类推,交换过第四位和第六位数后,此时,m=n,不再满足m<n,此时已完成数组的逆序存放。