黑马程序员技术交流社区
标题:
练习题遇到的问题
[打印本页]
作者:
流风124
时间:
2015-4-19 18:47
标题:
练习题遇到的问题
/*
编写一个函数void strlink(char s[], char t[])
将字符串t连接到字符串s的尾部
*/
void strlink(char s[], char t[]);
#include <stdio.h>
#include <string.h>
int main()
{
char s[]="hahakk";
char t[]="zhuazhunilertgrt";
strlink(s,t);
printf("%s\n",s);
return 0;
}
void strlink(char s[], char t[])
{
int length = strlen(s);
s = s+length;
printf("%d\n",length);
while(*s++ = *t++);
}
复制代码
现在代码没有问题,但是如果把原字符串改一下,
char s[]="hahakk";
复制代码
改成:
char s[]="hahakka";
复制代码
多一位
运行结果如下:
7
hahakkazhuazhunilertgrt
Abort trap: 6
出现Abort trap: 6,应该是s[]的数据越界造成的,但是结果没有错
这是什么原因,求指导
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2