因为计算机中用二进制补码表示数字,0和二进制补码为全0,-1的二进制补码为全1。 memset是一个字节一个字节的设置,把一个int的每个字节都设置为1,也就是0x01010101,十进制就是16843009 要初始化1怎么办? 要设int数组为1,就用for循环一个个设置就行了。或者枚举也可以...
当然不行啦。memset只有赋值是-1,0是正确的,原因如下:用memset初始化数组为1出错-CSDN memset是按字节赋值的,取变量a的后8位二进制进行赋值。1的二进制是(00000000 00000000 00000000 00000001),取后8位(00000001),int型占4个字节,当初始化为1时,它把一个int的每个字节都设置为1,也就是...