作者sagwow (不是我)
看板C_and_CPP
标题[问题] C做字串互换
时间Tue Sep 6 09:59:46 2016
开发平台(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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1473127190.A.A75.html
1F:推 LPH66: 就跟变数一样, 另外宣告一个字串 char temp[1000] 中介 09/06 10:02
2F:→ LPH66: 只不过不是 = 而是 strcpy 09/06 10:02
3F:推 DarkPrincex: 不过strcpy实际上也是一个字一个字换吧@@ 09/06 10:19
4F:推 Qbsuran: memcpy/memmove 09/06 10:21
5F:→ bluesoul: 用指标,直接把指标交换就好 09/06 10:39
有没有详细点的说明呢
6F:→ pili100: 我觉得这宣告塞字串可能有问题 09/06 12:00
7F:→ pili100: 不知道版主怎麽写的code 09/06 12:00
8F:推 steve1012: 为啥会有问题 你换的人不是也在array里? 09/06 12:03
我是要输入好几个字串,然後做排序,所以这样宣告,
请问会有什麽样的问题呢@@?
9F:→ steve1012: 应该是有guarantee input size吧 或是只关注怎麽写演 09/06 12:04
10F:→ steve1012: 算法 09/06 12:04
11F:推 CoNsTaR: char* a[100] 或许才是你要的? 09/06 12:05
12F:推 boss0405: 指标是个好方法,你可以朝这方向研究看看 09/06 12:09
13F:→ shadow0326: 一开始开二维阵列就搞错方向了吧 09/06 12:21
这题其实是这样的,输入n个大数做排序,所以我才做a[100][1000]的宣告
由於小弟我还很菜,如果有什麽好方法欢迎提出^^a
14F:→ TeaEEE: Dog和apple长度也不同,也无法一对一swap吧 09/06 12:29
※ 编辑: sagwow (140.113.64.76), 09/06/2016 12:47:47
15F:→ steve1012: 原来你不是给定的 我错了Qq 你不知道字串有多长要小心 09/06 13:30
16F:→ suwako: 你要不要把你写的code贴上来?我们才能知道你的问题在哪里 09/06 17:30
这是我的code:
http://ideone.com/eySBm9
(没贴成功的话麻烦再告知)
我的问题点是想知道在交换字串的部分有没有更简洁或更快的写法,
而不用一个字元一个字元换。
(我交换字串的部分在24行~29行)
18F:推 jaid: 要写成指标的阵列 09/06 17:55
20F:推 hth9494: 为何开二维阵列是搞错方向 09/06 18:20
21F:→ pttworld: 练习两颗星动态配置可以达成。 09/06 22:51
※ 编辑: sagwow (140.113.64.76), 09/07/2016 14:30:15
22F:推 tomet: 宣告阵列就是代表不能用指标的方式互换... 09/08 19:19
24F:→ suwako: 阿 我忘记free... 09/09 11:35
26F:推 flyfoxy: 用空白当split 存成string array 就可以用指标交换 09/09 20:09
27F:→ sagwow: 感谢! 09/10 01:21