#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;
}
各位大佬好,我在不明白的地方哪里注明了表情。第一处这个for (index= 0; index <2; index++) 什么意思?这个为什么能完成前后位置的互换呢?第二处地方, iArray[4-index] = temp; 这个语句不多余么?
由于我不清楚所以我按我的理解更改了两次。
第一次程序如下:
#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 <5; 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[4-index]);
更改了这里
}
printf("\n");
return 0;
}
这第一次更改的结果与书本上的程序结果一致。然后再此基础上,我第二次更改的时候将心碎表情的那一行给删除了,可是最后结果错误了。错误结果如下图所示:

这样我就有点不明白了……
请各位大佬指教一下:
1.第一处这个for (index= 0; index <2; index++) 这个为什么能顺序置换?
2. iArray[4-index] = temp; 这个语句不多余么?
3.为什么我把这个语句去除之后结果变成了5-4-3-4-5……
若能指教,不胜感激,麻烦各位大佬了!!!
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;
}
各位大佬好,我在不明白的地方哪里注明了表情。第一处这个for (index= 0; index <2; index++) 什么意思?这个为什么能完成前后位置的互换呢?第二处地方, iArray[4-index] = temp; 这个语句不多余么?
由于我不清楚所以我按我的理解更改了两次。
第一次程序如下:
#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 <5; 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[4-index]);
}
printf("\n");
return 0;
}
这第一次更改的结果与书本上的程序结果一致。然后再此基础上,我第二次更改的时候将心碎表情的那一行给删除了,可是最后结果错误了。错误结果如下图所示:

这样我就有点不明白了……
请各位大佬指教一下:
1.第一处这个for (index= 0; index <2; index++) 这个为什么能顺序置换?
2. iArray[4-index] = temp; 这个语句不多余么?
3.为什么我把这个语句去除之后结果变成了5-4-3-4-5……
若能指教,不胜感激,麻烦各位大佬了!!!

