我了解如果您在strcmp(这是一个C问题)中有“cat”(string1)和“dog”(string2),那么strcmp的返回值将小于0(因为“cat”在字典顺序上小于“dog”)。
但是,如果发生以下情况,我不确定strcmp会发生什么:
string1: 'dog'
string2: 'dog2'.
strcmp函数返回什么?小于零,零或者大于零?在这个语境下,我试图编写一个比较字符串的比较器函数并且想要考虑到以相同字符开头的字符串。一个字符串可能会有一个扩展名(例如,在上面的例子中,“dog2”中的“2”)。编辑:这不是重复的问题。这个问题与其被认为类似的问题询问返回类型代表什么有所不同 - 我是在说当字符串在某一点上相同但一个停止而另一个继续时会发生什么。
sizeof(int)
这样依赖于实现的内容?它仍然是一致的,因为它按照正式的C标准规定工作。字符串及其行为在各个平台和实现之间是一致的,但我会承认字符编码可能会有所不同,但是字符串和字符和字符串函数的行为仍然是一致的。 - Some programmer dude