【发布时间】:2013-09-03 05:45:06
【问题描述】:
我是 C 编程的新手,正在尝试运行一个简单的程序,它将字符串 t 放在字符串 s 的末尾:
#include <stdio.h>
void _strcat(char *s, char *t){
for(;*s;s++);
for(;(*s=*t)!='\0';s++,t++);
}
int main()
{
char *s="hello";
char *t="how are you?";
_strcat(s,t);
getchar();
return 0;
}
但分配两个指针(相同类型)*s=*t; 时,我经常遇到烦人的错误
这是错误:
线程 1:EXC_BAD_ACCESS(代码 2,地址=.....)
【问题讨论】:
-
与您的问题无关,但您不应该使用带前导下划线的全局名称,这些名称由 C 规范保留。
-
1.它被称为“Xcode”,而不是“XCODE”。 2. 但这无论如何与Xcode无关。 3. 这是一个骗局。 4. 我没有看到问题。 5. 以下划线开头的标识符保留给实现。如果您将函数命名为
_strcat,那么您的程序会调用未定义的行为。
标签: c