我想使用for循环为C(我使用minGW)中的数组赋值。起初,我试着做:For循环分配溢出到另一个变量
double flag[5] = {0.1};
但只是指定数组中的第一个变量为0.1。然后我试着做一个for循环来分别分配每一个。我不想硬编码的原因是因为我希望标记变量的大小对用户的输入是灵活的。我当前的代码如下所示:
int cnt;
double flag[5];
for (cnt = 0; cnt < sizeof(flag); cnt++) {
printf("sizeof(flag) is %d\n",sizeof(flag));
printf("size is equal to %d and cnt is %d\n",size,cnt);
flag[cnt] = 0.1;
}
printf("size is equal to %d\n",size);
变量"size"
从6变化先前被确定为垃圾号码,我不能修改迭代次数。例如,如果我设置了cnt < sizeof(flag)-1
,则没有变化。 -2,-5,
等没有变化。但是,如果我大幅度缩小尺寸,它会陷入无限循环。 sizeof(flag)
是40,而不是像我想要的那样,但是除以8也会以某种方式进入无限循环。有什么建议?
这个问题得到解答,谢谢大家!
再次阅读'sizeof'做什么。 – chris
编辑的代码在这里工作正常。你的代码的输出是什么? –