題目:字串比較
執行以下命令:
# str1="hello world"
# [ $str1 = "hello world" ] && echo 1 || echo 0
原來以為會輸出1,結果卻輸出0,請問什麼原因?
執行以下命令:
# str2="jerry"
# [ $str2=="tom" ] && echo 1 || echo 0
原來以為會輸出0,結果卻輸出1,請問什麼原因?
答案:
對於字串測試的時候,一般應該將字串變數加雙引號之後再進行比較,否則如果字串中含有空格等字元則會出現語法錯誤。所以該題應該這樣寫:
# str1="hello world"
# [ "$str1" = "hello world" ] && echo 1 || echo 0
# 1
字串測試,可以使用=
、==
或!=
來比較兩個字串相同或不同,但應注意比較符號兩端一定要加空格,否則判斷會出現邏輯錯誤——即使語法沒問題,但判斷結果依然可能不正確。所以該題應該這樣寫:
# str2="jerry"
# [ $str2 == "tom" ] && echo 1 || echo 0
# 0
字串的比較
給定兩個僅由大寫字母或小寫字母組成的字串 長度介於1到10之間 它們之間的關係是以下4中情況之一 1 兩個字串長度不等。比如 beijing 和 hebei 2 兩個字串不僅長度相等,而且相應位置上的字元完全一致 區分大小寫 比如 beijing 和 beijing 3 兩個字串長度相等,相應位置上...
字串的比較
1 我們比較常用的是比較運算子 string 類的常見運算子包括 示例 include include using namespace std int main 讀者應注意,對於參加比較的兩個字串,任乙個字串均不能為 null,否則程式會異常退出。2 basic string 類模板提供了 comp...
字串的比較
兩個字串比較,是將這兩個字串從左到右逐個字元比較。1.如果兩個字串長度相等,且每乙個相應位置上的字元都一樣,就認為兩個字串相等,如 abc abc 2.如果兩個字串長度不相等,則以第乙個不相同的字元作為基準,而不考慮他們的長度及其後字元的比較結果。如 abh abfc000 3.如果兩個字串長度不相...