gpt4 book ai didi

c - 在 C 中的循环中重新声明数组

转载 作者:行者123 更新时间:2023-12-01 09:56:45 25 4
gpt4 key购买 nike

当循环重复时,在循环中声明的数组是否设置为零?

我有一个数组并以这种方式使用它..

while(i<n)
{
int a[1000];
//taking inputs in array..
/*some calculations with array..
the values in array may change*/
}

下次循环的时候,数组a又被声明了,它是一个新的数组,那么数组中的值现在不就是0了吗?

实际上,我用这种方式编写了一个代码,并观察到这些值不是零,而是与循环重复之前的值相同。为什么?

最佳答案

数组的值是未初始化的,它们包含堆栈中的“随机” 垃圾值。

数组中的数字也可能在每次循环运行中被覆盖。 IE。如果您需要值在循环之间保持不变,则在 while 循环之前提升数组声明。

使用

int a[1000] = {0};

用零初始化数组。

关于c - 在 C 中的循环中重新声明数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25021051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com