我知道STRCMP回报......strcmp的返回值是什么意思?
大于零的值表示,做 不具有匹配str1中比在STR2具有较大值的第一个字符;并且比零值小的值表示相反。
但是这些正数或负数的含义是什么?例如2是什么意思?
我知道STRCMP回报......strcmp的返回值是什么意思?
大于零的值表示,做 不具有匹配str1中比在STR2具有较大值的第一个字符;并且比零值小的值表示相反。
但是这些正数或负数的含义是什么?例如2是什么意思?
总之,没什么。它通常取决于函数的实现方式,但不能依赖它。
例如,在实施他们约在这里(3后)讲:http://compsci.ca/v3/viewtopic.php?t=24383返回(的数字表示)的第一不同角色之间的差异,即strcmp("ab","ad")
将返回-2
。
或者,对于此实现,http://en.wikibooks.org/wiki/C_Programming/Strings#The_strcmp_function相同的调用将返回-1
。
大于零的值表示,做 不匹配的第一个字符在STR1更大的值比在STR2
和
2> 0
so
2表明,它 不匹配的第一个字符str1中一个更大的价值比STR2
该标准不告诉你具体的数字的含义。每个实现只要返回大于,等于或小于零,就可以返回它喜欢的任何内容。
只有返回整数的符号是有意义的。尽管在大多数实现中通常是-1,0和+1(分别),但确切的值永远不会被依赖。
如果它返回2,它只是*可能意味着字符代码之间的差异是2.或者其他。 – 2012-08-01 13:53:34