c语言double型一维数组 初始化

我在程序里定义:double[10000] = {0.0}数组,有必要每次调用都初始化吗?
经过试验,如果调用前不用for循环初始化的话程序结果就会有很大误差,这样的数据要如何处理呢???
最新回答
秋水墨凉

2025-03-26 04:29:44

初始化只解决第一次使用时的初值。
如果你反复使用它,那么数组元素里的值不断变化,就不再是“初始化”的值了。
要恢复为初值,当然需要重新给值。

double d[10000] = {0.0}
用循环语句重新给值没有难度啊: for (i=0;i<10000;i++) d[i]=0.0;

memset 之类函数,你要能记得,当然也可以用。但它的值只能是1字节unsigned char范围内的。
不是给0时要小心。
瑾色如弦

2025-03-26 03:09:21

double[10000] = {0.0}
这样初始化可以啊,后面9999个就全都是0.0了
怎么会有误差呢?
有校服就不用买情侣装了

2025-03-26 13:16:29

你这样没有初始所有,建议memset使用。bzero
追问
int a[10];memset(a,0,sizeof(a));
这样吗???
追答
可行