看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 請問一下, 老師說strcmp是從第一個字符開始比, 完全相同輸出0, 左>右,輸出 +的差值 右<左,輸出-的差值 為什麼我編譯後出現+1和-1, 不是+2,-2? 我有試過其它字符,它好像只會出現 0/1/-1 三種 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { int delta1=strcmp("ABC","ABC"); printf("%d\n",delta1); int delta2=strcmp("ABF","ABC"); printf("%d\n",delta2); int delta3=strcmp("ABC","ABF"); printf("%d\n",delta3); return 0; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.181.59 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1439304012.A.5F5.html ※ 編輯: GooLoo (114.25.181.59), 08/11/2015 22:40:43
bibo9901: 只區分 <0, 0, >0. 正多少或負多少倒是沒規定 08/11 22:42
GooLoo: 原來如此,可能老師的編譯器不同? 08/11 22:49
GooLoo: ex:xcode? 08/11 22:50
LPH66: 是的, 編譯器實作不同可能會回傳不同值, 但一定是 < = > 0 08/12 01:04
dritchie: 字元 不是字符 08/12 01:13
ctrlbreak: 字符是對岸用語 08/12 12:53