这是一个小 C 代码,用于突出 memcmp 返回值的问题:
char *str1 = "\200";
char *str2 = "\0";
int val1 = memcmp(str1, str2, 2);
int val2 = memcmp("\200", "\0", 2);
printf("val 1 : %d \n",val1);
printf("val 0 : %d \n",val2);
标准输出是:
val 1 : 128
val 2 : -1
有没有说明这两个函数调用之间的区别?谢谢你的帮助。
铿锵版本:
Apple LLVM 版本 9.0.0 (clang-900.0.39.2) 目标:x86_64-apple-darwin16.7.0