我试图通过从名为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;
}
谢谢你的帮助
答案 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]的内存位置中的任何随机值。