[問題] C做字串互換

作者: sagwow (不是我)   2016-09-06 09:59:46
開發平台(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)
作者: LPH66 (-6.2598534e+18f)   2016-09-06 10:02:00
就跟變數一樣, 另外宣告一個字串 char temp[1000] 中介只不過不是 = 而是 strcpy
作者: DarkPrincex (DP)   2016-09-06 10:19:00
不過strcpy實際上也是一個字一個字換吧@@
作者: Qbsuran (Qbsuran)   2016-09-06 10:21:00
memcpy/memmove
作者: bluesoul (忙死你老爸)   2016-09-06 10:39:00
用指標,直接把指標交換就好
作者: pili100 (zelda)   2016-09-06 12:00:00
我覺得這宣告塞字串可能有問題不知道版主怎麼寫的code
作者: steve1012 (steve)   2016-09-06 12:03:00
為啥會有問題 你換的人不是也在array裡?應該是有guarantee input size吧 或是只關注怎麼寫演算法
作者: CoNsTaR ((const *))   2016-09-06 12:05:00
char* a[100] 或許才是你要的?
作者: boss0405 (boss)   2016-09-06 12:09:00
指標是個好方法,你可以朝這方向研究看看
作者: shadow0326 (非議)   2016-09-06 12:21:00
一開始開二維陣列就搞錯方向了吧
作者: TeaEEE (愛不趴 不愛趴)   2016-09-06 12:29:00
Dog和apple長度也不同,也無法一對一swap吧
作者: steve1012 (steve)   2016-09-06 13:30:00
原來你不是給定的 我錯了Qq 你不知道字串有多長要小心
作者: suwako   2016-09-06 17:30:00
你要不要把你寫的code貼上來?我們才能知道你的問題在哪裡
作者: wemee (方天畫)   2016-09-06 17:38:00
使用指標 這樣如何 http://goo.gl/gHbn9e
作者: jaid (jaid)   2016-09-06 17:55:00
要寫成指標的陣列
作者: wemee (方天畫)   2016-09-06 18:00:00
改成指標陣列 這樣如何 http://goo.gl/gHbn9e
作者: hth9494 (hth9494)   2016-09-06 18:20:00
為何開二維陣列是搞錯方向
作者: pttworld (批踢踢世界)   2016-09-06 22:51:00
練習兩顆星動態配置可以達成。
作者: tomet (沁)   2016-09-08 19:19:00
宣告陣列就是代表不能用指標的方式互換...
作者: suwako   2016-09-09 11:31:00
http://ideone.com/MHP1Wz 基於你的code下去改的阿 我忘記free...http://ideone.com/x1Kdd9 修正版
作者: flyfoxy (飛狐)   2016-09-09 20:09:00
用空白當split 存成string array 就可以用指標交換
作者: sagwow (不是我)   2016-09-10 01:21:00
感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com