close
[By JHF 學長]
今天又看到一個可能的錯誤....

比較兩個字串的時候....記得, 不是用:

"string" == "string"

喔....上一行的code拿去compile會過, 而且執行結果還會正確
不過那只限constant....

如果code是:

char a[] = "string";
if(a == "string")
printf("same");
else
printf("different");

這個程式的結果, 你可以踹看看....output一定是different....

那麼, 如果要比較兩個字串變數的時候要怎麼辦呢?

strcmp(str1, str2)


是個好用的選擇....當兩個字串的'內容'相同的時候,
這個函式會回傳 0, 否則是以兩字串的第一個字元來作判斷....
直到非相同的字元時傳回一個非零值.... (詳細設計還是別講太多好)

如果你只是想檢查前幾個字元是否相同, 那使用strncmp()也是個不錯
的選擇....但是, 就是沒有string1 == string2的用法喔....

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 iceis 的頭像
    iceis

    .: iceis' Blog :.

    iceis 發表在 痞客邦 留言(2) 人氣()