看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-c++ 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/8l7F0lHJ 補充說明(Supplement): 小弟不才 解個一顆星的題目花了許久 現在有點不知道原因是甚麼@.@ 原本我在抓廠商名字的時候是先 fgets 之後再接 sscanf("%s")... (上面這個邏輯CODE裡面還有 只是被我註解掉了) 這樣送進去的結果是WA 所以後來猜想 可能是廠商的名字裡面會有空白 ' ' 字元 所以用 %s 只抓得到一半的名字 因此 我改用了 直接把整個行用 fgets抓下來的方法 在直接strcpy到 answer那邊 但是問題又來了 因為直接抓整行會把換行符號也抓進來 所以會多印一次換行 因此我就想說把換行符號 改成0x00 NULL 結束自元 結果現在的狀況居然變成 Runtime Error 百思不解 所以才想上來問問板上各位大大 小弟的邏輯哪邊有問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.31.73
mingcloud:為什麼我的字都是藍色的啊...我編輯時少做了甚麼嗎@.@ 06/10 00:01
※ 編輯: mingcloud 來自: 61.217.31.73 (06/10 00:10)
firejox:你不小心砍掉結尾的色碼了... 06/10 00:23
mingcloud:囧 這個要怎麼改我真的不會...Orz 06/10 00:24
firejox:你確定你有抓到'\n'嗎? 06/10 00:27
firejox:改色碼自己ctrl+z看說明... 06/10 00:29
mingcloud:那個問題我剛剛有解決掉 但是還是WA...我改一下心的code 06/10 00:29
※ 編輯: mingcloud 來自: 61.217.31.73 (06/10 00:30)
mingcloud:我加上判斷strchr得回傳值之後就沒有timeerror的問題 06/10 00:31
mingcloud:但還是wa... 06/10 00:31
mingcloud:我AC了 可是很不能苟同...把所有的fgets改成gets之後AC. 06/10 01:26
loveme00835:因為一個會把 '\n' 抓進來, 另一個不會 06/10 01:28
mingcloud:是這樣說沒錯 但是我嘗試過印的時候改成用fputs 06/10 01:30
mingcloud:或者是抓到new_name時先用strlen抓長度 06/10 01:30
mingcloud:之後載用strncpy(a,b, strlen-1)這兩種方法都會WA 06/10 01:30
loveme00835:No null-character is implicitly appended to the en 06/10 01:34
loveme00835:http://goo.gl/zw88U 06/10 01:35
mingcloud:阿 可是strlen抓到算到\n的長度 然後-1就會不是\n了不是 06/10 01:36
mingcloud:strlen的方法過了 但是ans_name要先整個set 成0x00 06/10 01:42
mingcloud:這整篇感覺像是我自問自答啊...ORz 06/10 01:44
loveme00835:你不懂他在做啥事情就冒然呼叫了 06/10 01:55
firejox:strlen是抓'\0'... 06/10 19:04