如何通过提取部分数组来填充数组

时间:2015-03-30 04:12:44

标签: c arrays

我试图通过从名为exit_2的数组中提取一些元素来填充数组xlow。通过使数组xlow,我想访问它的特定元素,但代码给出了一些奇怪的数字。

#include <stdio.h>
int main()
{
 int exit_1[4]={3,0,7,11},exit_2[4]={90,164,232,328},xlow[2],i;
 for(i=0;i<4;++i){
    if(exit_1[i]<7){
        xlow[2]=exit_2[i];
    }
}
 printf("%d",xlow[0]);
 return 0;
}

谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

xlow[2]=exit_2[i];

如您所见,您正在初始化xlow[2]xlow[0]仍然未初始化,使用未初始化的变量会导致未定义的行为。

int j=0;
 for(i=0;i<4;++i){
    if(exit_1[i]<7){
        if(j>1)
        break;
        else
        xlow[j++]=exit_2[i];
    }
}

答案 1 :(得分:0)

你会得到奇怪的数字,因为xlow[0]永远不会被写入或初始化,你只能写信给xlow[2]

这意味着当你执行printf("%d",xlow[0]);时,程序将只打印xlow [0]的内存位置中的任何随机值。