关于C语言一维数组元素互换的问题谢谢了,大神帮忙啊

#include<stdio.h> int main() { int iArray[5], index, temp; /*定义数组及变量为基本整型*/ printf("Please enter a Array:\n"); for (index= 0; index< 5; index++) /*逐个输入数组元素*/ { scanf("%d", &iArray[index]); } printf("Original Array is:\n"); for (index = 0; index< 5; index++) /*显示数组中的元素*/ { printf("%d ", iArray[index]); } printf("\n"); for (index= 0; index < 2; index++) /*将数组中元素的前后位置互换*/ { temp = iArray[index]; /*元素位置互换的过程借助中间变量temp*/ iArray[index] = iArray[4-index]; iArray[4-index] = temp; } printf("Now Array is:\n"); for (index = 0; index< 5; index++) /*将转换后的数组再次输出*/ { printf("%d ", iArray[index]); } printf("\n"); return 0; } 元素互换那是啥意思?没看懂啊?中间变量又是什么意思?

互换就是说把两个不同位置的数据值相互交换,而交换不能直接交换了,需要借助一个中间变量。 举个例 假设数组有2个元素,分别为1,2 int Data[2]; Data[0] = 1; Data[1] = 2; 现在需要互换,即要达到目的使得Data[0] = 2; Data[1] = 1; 此时如果直接使用 Data[0] = Data[1]; // 此时Data[0]的值为2了 Data[1] = Data[0]; // 此时Data[1]的值为Data[0]的值(之前那一步被改为了2),因此Data[1]的值还是2,没有达到目的,所以借助一个中间变量,操作过程 首先将Data[0]的值赋给中加变量,保存起来备用,然后将Data[0]的值改为Data[1]的值,再将Data[1]的值改为原来的Data[0]那个值,那个值被保存在备用的中间变量里,因此将Data[1]的值改为中间变量的值即可达到目的。
温馨提示:答案为网友推荐,仅供参考
相似回答