1. 字符串的存儲(chǔ)方式
在C語(yǔ)言中,字符串是以字符數(shù)組的形式存儲(chǔ)的。例如,字符串“hello”可以表示為一個(gè)字符數(shù)組char str[] = {'h', 'e', 'l', 'l', 'o', '\0'}。其中,一個(gè)字符“\0”表示字符串的結(jié)束符。
2. “==”比較的是地址
在C語(yǔ)言中,使用“==”比較兩個(gè)字符串時(shí),實(shí)際上比較的是兩個(gè)字符數(shù)組的地址。例如,下面的代碼
char str1[] = "hello";
char str2[] = "hello";
if(str1 == str2){tf");
}else{tf");
輸出的結(jié)果是“str1 != str2”。這是因?yàn)閟tr1和str2雖然存儲(chǔ)的字符串內(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ù)。