我的做法是這樣的 但是當(dāng)我輸入#的時(shí)候再enter后面一直就沒(méi)有輸出的部分誰(shuí)能幫我看一下哪里錯(cuò)了或者怎么樣做更好
1 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
我沒(méi)有看完全部的邏輯,不過(guò)開(kāi)頭就有一個(gè)錯(cuò)誤:
一開(kāi)始的 while 的判斷部分 str[i] != "#",你想用這樣的方式來(lái)比較兩個(gè)字符串(左側(cè)的 str[i] 是個(gè) char 數(shù)組,當(dāng)作字符串;右側(cè)的"w"也是字符串),很遺憾這樣不行。
C 的字符串就是以 char 數(shù)組的形式存在的,而 C 中數(shù)組是不能用 == != 等運(yùn)算符來(lái)作相等比較的(數(shù)組在這時(shí)會(huì)被視為指針,所以被比較的僅僅是兩個(gè)指針,并不是數(shù)組中的內(nèi)容)。欲比較兩個(gè)字符串,你得自行比較它們的所有元素是否全都相等;或者用庫(kù)函數(shù)?strcmp?<string.h>。
- 1 回答
- 1 關(guān)注
- 1423 瀏覽
添加回答
舉報(bào)
0/150
提交
取消