报错类型

Segmentation Fault

报错代码

memset(f, sizeof(f), INF);

正确代码

memset(f, 0, sizeof(f)); # memset只能将值赋值为0或-1,不能赋为其他值

为什么memset只能将值赋为0或-1

假设f[N]为int数组,int为4个字节,而memset是一个字节一个字节进行赋值的。

1的话,会将值赋为00000001 | 00000001 | 00000001 | 00000001,故实际的值并不是1。

而0的话,00000000 | 00000000 | 00000000 | 00000000,依然是0。

-1的话,11111111 | 11111111 | 11111111 | 11111111,恰好就是-1。

最讨厌你,也最喜欢你