關於strcmp比較的問題

2021-06-21 21:51:50 字數 326 閱讀 5165

前幾天查了乙個問題,查了很長時間才查出來,發現是strcmp在和比較的時候出錯了,程式直接掛掉了,也沒見有什麼提示,最後發現是因為傳入的乙個值是個null指標。而且並不是每次比較都掛掉,而是和空值比較了幾次之後才掛掉,比較奇怪。

深層次的原因還未查到,這裡先記錄下(聽說在aix下strcmp傳入null指標也會掛掉,不過這裡未實踐過)。

環境是 gcc version 3.4.6 20060404 (red hat 3.4.6-3)。

2014-07-08 可能是因為從ox0位址讀內容和目的位址比較時,如果ox0位址和目的位址碰巧相同,之後向後面的位址讀,然後因為目標位址不可讀最後失敗退出

字串的比較 strcmp

函式原型 extern int strcmp const char s1,const char s2 所在標頭檔案 在.c檔案需加入string.h標頭檔案 在vc6或vs2012中,沒有加入該標頭檔案,仍能正常執行,但會出現warning strcmp undefined 在.cpp中則可以不加 ...

用strcmp比較大小

好長時間不用c了,昨天就只寫了幾行,竟然都沒有執行出來,幸好以前還是有底子的,半夜做夢竟然知道了 用strcmp比較兩個字串的大小 首先了解strcmp的用法 1.strcmp 字串1,字串2 1 比較結果由函式值帶回 2 如果字串1 字串2,函式值為0 3 字串1 字串2,函式值為乙個正整數 4 ...

strcmp函式 多個比較條件理解

每次不相同,統計一下行 ct lim 行數不可以大於給與的多維陣列的行數 s gets input ct size null 每行的一維陣列,內容不為空 input ct 0 0 每行陣列的第乙個元素不為 空字元 strcmp input ct stop 0 0代表比較字元一樣,0才會進入下面統計走...