【发布时间】:2015-05-06 06:32:32
【问题描述】:
我正在做strcat 函数的指针版本,这是我的代码:
void strcat(char *s, char *t);
int main(void) {
char *s = "Hello ";
char *t = "world\n";
strcat(s, t);
return 0;
}
void strcat(char *s, char *t) {
while (*s)
s++;
while ((*s++ = *t++))
;
}
这看起来很简单,但是在我的 Mac OS 10.10.3 上运行时会出现总线错误。我不明白为什么......
【问题讨论】:
-
请发布一些上下文,最重要的是,您如何调用函数以及使用什么参数?你如何定义和初始化你传递的指针?
-
你确定s指向的内存有足够的空间来添加t并且t是空终止的吗?
-
哦,顺便说一句,您忘记终止生成的字符串。
-
该函数还应该返回一些内容以防连接时出错。
-
I'm doing a pointer version of the strcat() function.. 现在怎么样了?