如果我使用比较运算符来比较C中的字符串而不是strcmp,会发生什么?它会比较它的ASCII值和返回结果吗?
答案 0 :(得分:1)
它会比较两个指针的地址。
这样:
char* a = "hello";
char* b = "test";
char* c = "hello";
char* d = a;
a == d; // true
a == b; // false
a == c; // true or false, depending on the compiler's behavior.
如果编译器决定回收“hello”的实际字符串数据,那么第三个例子将成立,但它没有义务这样做。