C strcmp() 有一个字符的区别

C strcmp() with one char difference

我的问题是 strcmp() 将如何处理以下情况:

strcmp("goodpassT", "goodpass");

我读到比较一直持续到找到不同的字符或在任何字符串中找到空字符 ([=12=])。在上述情况下,当它遇到第二个参数 [=12=] 时,它会停止比较,还是会继续与 T 字符进行比较? return 值为 1,但我不确定停止条件。

比较是使用 unsigned char 完成的。因此 较短的字符串更小 因为它的终止 0 小于较长字符串中的其他无符号非零字符。 参见 http://port70.net/~nsz/c/c11/n1570.html#7.24.4p1

这个函数的答案strcmp("goodpassT", "goodpass");将根据 ASCII 值比较两个字符串的长度相同的 1 only.The 点。