我编写了一个程序来创建两个Arry 偶数和奇数,如您所见,偶数= Chan和奇数= le。但我不知道为什么结果是相反的偶数与奇数


#include <stdio.h>
int main(){
int arr[10] = {1,2,3,4,5,6,7,8,9,0};
int arr_chan[10];
int arr_le[10];
int i, chan=0,le=0;
for(i=0;i<10;i++){
if(arr[i]%2==0){
arr_chan[chan]=i;
chan++;
}
else if(arr[i]%2!=0){
arr_le[le]=i;
le++;
}
}
printf("nMang ban dau -> ");
for(i=0;i<10;i++){
printf("%d ",arr[i]);
}
printf("nMang chan -> ");
for(i=0;i<chan;i++){
printf("%d ",arr_chan[i]);
}
printf("nMang le -> ");
for(i=0;i<le;i++){
printf("%d ",arr_le[i]);
}
printf("n");

}

为什么是相反的?帮助我结果:manban dau ->1 2 3 4 5 6 7 8 9 0陈芒->1 3 5 7 9许多乐->0 2 4 6 8按任意键继续…

您保存的是索引,而不是数组的值。

Changearr_chan[chan]=i->arr_chan[chan]=arr[i]

arr_le[le]=iarr_le[le]=arr[i]

int i, chan=0,le=0;
for(i=0;i<10;i++){
if(arr[i]%2==0){
arr_chan[chan]=arr[i];
chan++;
}
else if(arr[i]%2!=0){
arr_le[le]=arr[i];
le++;
}
}

相关内容