我有一行memset(C, 0, N*M);,其中 C 是双精度矩阵。(我正在使用 WSL。)
但是,如果我查看 gdb,矩阵中的某些元素将设置为其中之一-nan(0xffffffffffff8),而其他元素将设置为例如9.0096750001652956e-314。
第一个没有给出任何错误,但 a+=似乎没有改变任何东西(或者至少似乎没有使 nan 的东西消失),而第二个是一个问题,如果元素没有改变或只改变有+= 0,因为比较if (0 == C[i][j])失败。
如果我手动将值设置为 0,则根本不会出现这些问题。
这是 WSL 的事情,还是有什么memset我不明白的事情?