这几行代码问题出在哪里?

2014-01-19 01:17:51 +08:00
 GreenHand
很简单的C代码,执行时会报错:Abort trap: 6

void strcat2(char *s, char *t) {
//s指向'\0'
while(*s)
s++;
while(*s++ = *t++)
;
}

int main() {
char s[] = " hello ";
char t[] = " world ";
strcat2(s, t);
printf("%s\n", s);
printf("%s\n", t);
}
2774 次点击
所在节点    问与答
6 条回复
GreenHand
2014-01-19 01:19:29 +08:00
(⊙o⊙)…这缩进
windywinter
2014-01-19 01:44:01 +08:00
s空间不够呗
nagato
2014-01-19 02:37:31 +08:00
到处都是问题 - -
cassyfar
2014-01-19 03:50:22 +08:00
突然觉得喷神王ying的有篇文章还是多有道理的,代码的简洁不在于行数在于表意。
GreenHand
2014-01-19 09:48:06 +08:00
@windywinter 多谢指正!
@nagato ^_^
@cassyfar 请说透了
dialox
2014-01-20 12:12:15 +08:00
这个代码。。。。

惨不忍睹~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/97560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX