1. 字符串的存儲方式
在C語言中,字符串是以字符數(shù)組的形式存儲的。例如,字符串“hello”可以表示為一個字符數(shù)組char str[] = {'h', 'e', 'l', 'l', 'o', '\0'}。其中,一個字符“\0”表示字符串的結(jié)束符。
2. “==”比較的是地址
在C語言中,使用“==”比較兩個字符串時,實際上比較的是兩個字符數(shù)組的地址。例如,下面的代碼
char str1[] = "hello";
char str2[] = "hello";
if(str1 == str2){tf");
}else{tf");
輸出的結(jié)果是“str1 != str2”。這是因為str1和str2雖然存儲的字符串內(nèi)容相同,但它們的地址不同,因此“==”比較的結(jié)果為false。
3. 解決方法ptpstst char s2)。該函數(shù)比較字符串s1和s2的內(nèi)容,如果相同返回0,否則返回非零值。
例如,下面的代碼
char str1[] = "hello";
char str2[] = "hello";p(str1, str2) == 0){tf");
}else{tf");
輸出的結(jié)果是“str1 == str2”。
4. 總結(jié)p()函數(shù)。