我知道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