看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) CodeBlocks 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 字串互換 餵入的資料(Input): apple dog 預期的正確結果(Expected Output): dog apple 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 我宣告char a[100][1000],想交換其中a[0]和a[1]兩個字串, 想請問有沒有不用一個字元一個字元交換的方法。 {有試著用指標去做,但一直失敗QQ) -- ╭─╮ ──╮ ╭─┤╭╮ ╭╭─╮╮ ╭ │ │ │ ││││││ ││││ ╰─╮ ╭─┼╮╰─┼╯││││○││││ │ │ ││ │ ││││ ││││ ╰─╯ ╰─╯╰──╯ ╰╰╯╰─╯╰╯╯ 傻瓜,我們都一樣~~ ψsagwow -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.64.76 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1473127190.A.A75.html
LPH66: 就跟變數一樣, 另外宣告一個字串 char temp[1000] 中介 09/06 10:02
LPH66: 只不過不是 = 而是 strcpy 09/06 10:02
DarkPrincex: 不過strcpy實際上也是一個字一個字換吧@@ 09/06 10:19
Qbsuran: memcpy/memmove 09/06 10:21
bluesoul: 用指標,直接把指標交換就好 09/06 10:39
有沒有詳細點的說明呢
pili100: 我覺得這宣告塞字串可能有問題 09/06 12:00
pili100: 不知道版主怎麼寫的code 09/06 12:00
steve1012: 為啥會有問題 你換的人不是也在array裡? 09/06 12:03
我是要輸入好幾個字串,然後做排序,所以這樣宣告, 請問會有什麼樣的問題呢@@?
steve1012: 應該是有guarantee input size吧 或是只關注怎麼寫演 09/06 12:04
steve1012: 算法 09/06 12:04
CoNsTaR: char* a[100] 或許才是你要的? 09/06 12:05
boss0405: 指標是個好方法,你可以朝這方向研究看看 09/06 12:09
shadow0326: 一開始開二維陣列就搞錯方向了吧 09/06 12:21
這題其實是這樣的,輸入n個大數做排序,所以我才做a[100][1000]的宣告 由於小弟我還很菜,如果有什麼好方法歡迎提出^^a
TeaEEE: Dog和apple長度也不同,也無法一對一swap吧 09/06 12:29
※ 編輯: sagwow (140.113.64.76), 09/06/2016 12:47:47
steve1012: 原來你不是給定的 我錯了Qq 你不知道字串有多長要小心 09/06 13:30
suwako: 你要不要把你寫的code貼上來?我們才能知道你的問題在哪裡 09/06 17:30
這是我的code:http://ideone.com/eySBm9 (沒貼成功的話麻煩再告知) 我的問題點是想知道在交換字串的部分有沒有更簡潔或更快的寫法, 而不用一個字元一個字元換。 (我交換字串的部分在24行~29行)
wemee: 使用指標 這樣如何 http://goo.gl/gHbn9e 09/06 17:38
jaid: 要寫成指標的陣列 09/06 17:55
wemee: 改成指標陣列 這樣如何 http://goo.gl/gHbn9e 09/06 18:00
hth9494: 為何開二維陣列是搞錯方向 09/06 18:20
pttworld: 練習兩顆星動態配置可以達成。 09/06 22:51
※ 編輯: sagwow (140.113.64.76), 09/07/2016 14:30:15
tomet: 宣告陣列就是代表不能用指標的方式互換... 09/08 19:19
suwako: http://ideone.com/MHP1Wz 基於你的code下去改的 09/09 11:31
suwako: 阿 我忘記free... 09/09 11:35
suwako: http://ideone.com/x1Kdd9 修正版 09/09 11:37
flyfoxy: 用空白當split 存成string array 就可以用指標交換 09/09 20:09
sagwow: 感謝! 09/10 01:21