if(memcmp(版本,"\ x0\x0\x0",3)== 0)

1 c

我正在编写一段代码,其中包含如下声明:

if (memcmp (version, "\x0\x0\x0", 3) == 0 )       
Run Code Online (Sandbox Code Playgroud)

与版本进行比较的数据是什么?是否与"000"相比?

Cha*_*via 6

不,它不一样"000".它正在比较三个null(0)字节.每个字节是二进制的实际值零.这与"000"包含可打印字符的 ASCII值的字符串不同0,后者为48(或十六进制为30).

所以"000"会一样的"\x30\x30\x30".