色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

為什么C語(yǔ)言中string==string會(huì)出現(xiàn)奇怪的結(jié)果?

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ù)。