1 c
我正在编写一段代码,其中包含如下声明:
if (memcmp (version, "\x0\x0\x0", 3) == 0 )
Run Code Online (Sandbox Code Playgroud)
与版本进行比较的数据是什么?是否与"000"相比?
不,它不一样"000".它正在比较三个null(0)字节.每个字节是二进制的实际值零.这与"000"包含可打印字符的 ASCII值的字符串不同0,后者为48(或十六进制为30).
所以"000"会一样的"\x30\x30\x30".