看板 C_and_CPP 關於我們 聯絡資訊
因為平常都是使用C++的緣故, 所以對於C有點不熟悉 我想要檢查一個字串內是不是含有換行符號 因此我這樣寫 for(字串) if(yytext[i]=='\n') …… yytext 是我想要檢查的字串 但是結果卻不如我的預期 對於上述寫法,有警告訊息 comparison between pointer and integer 因此我有試圖改寫成 for(字串) if(&yytext[i]=='\n') …… 但是仍然有一樣的警告, 有上網找過這類問題了, 但是都沒有看到跟我一樣的問題 輸入: “/* djkslslskkdkf */” 預期輸出: “/* (找到換行符號) djkslslskkdkf (找到換行符號) */” 實際輸出: “/* djkslslskkdkf */” 註: 後來我又重新編譯過一邊, 結果就好了,我一行都沒改, 所以可能是編譯器的問題(? ----- Sent from JPTT on my Samsung SM-J700F. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.50.185.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1586963260.A.9BA.html
james732: strcmp 04/15 23:39
james732: 我好像誤會你的意思了,不要理一樓 04/15 23:39
※ 編輯: Billeve (110.50.185.43 臺灣), 04/16/2020 00:00:22
Billeve: 雖然不知道為什麼對了,但是我還是想確定一下我這種寫法 04/16 00:01
Billeve: 是對的嗎? 04/16 00:01
LiloHuang: 沒有完整原始碼不好確認,我猜你一開始應該打成雙引號? 04/16 00:14
可是我是整個專案沒有改重新編譯欸,覺得玄
ctrlbreak: yytext 宣告成什麼型態? 04/16 00:18
Billeve: 應該是char*的型態 04/16 04:15
Dinowchang: 如果是在 windows 下的話,換行符號是兩個字元 04/16 07:56
qscgy4: 回樓上windows不一定是\n\r,有時候只有\n 04/16 08:50
※ 編輯: Billeve (110.50.185.43 臺灣), 04/16/2020 09:09:11
justhit666: 可以貼一下完整的code,yytext宣告成什麼還有for的條 04/24 14:27
justhit666: 件,如果yytext宣告成char *的話第一種寫法應該是沒問 04/24 14:27
justhit666: 題的 04/24 14:27
justhit666: 而且也不知道你用甚麼編譯器下了甚麼編譯指令XD 04/24 14:28