所以出于某种原因,我的c程序搞砸了值
我有
int key1[10][3];
int out[4] = {1,0,0,1};
for(i =0;i<10;i++)
{
for(j=0;j<3;j++)
{
key1[i][j] = out[j];
printf("%d",key1[i][j]);
//at this point it will print 100
}
}
printf("%d",key1[0][0]);
printf("%d",key1[0][1]);
printf("%d",key1[0][2]);
// output will be 000
这让我很疯狂,我没有在内存中正确地声明我的阵列
* 我向你道歉你们是对的我应该刚刚发布代码解决方案是一些与此无关的错误请原谅我*
答案 0 :(得分:2)
您没有正确声明和初始化out
数组。
更改
int out[1,0,0,1];
到
int out[4] = {1,0,0,1};
查看How to initialize all members of an array to the same value?。
更新:对于您更新的问题,如果您不忘记首先声明i, j
,它会打印正确的结果。
立即查看:http://ideone.com/Kf5tzC。