这个程序有什么问题?

pra*_*p19 2 c string

我正在尝试编写字符串连接代码.我想知道它有什么问题.你能不能帮帮我吧 这是我的代码.

#include <stdlib.h>

void strcat1(char *s, char *t)
{
    while(*s !='\0')
        s++;

    while((*s++=*t++)!= '\0')
    {

    }

}

int main()
{
char s[]= "hello";
char t[]= "world";
strcat1(s,t);
printf("%s", s);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在codepad.org上得到了这个输出:Disallowed system call: SYS_socketcal 这是链接:http://codepad.org/Arz6U7YA

编辑:主函数中的更改char*s ="Hello"和char*t ="World"是否会产生任何差异?

pmg*_*pmg 8

s 有6个字符的空间(即'h','e','l','l','o'和'\ 0').

你试图在那里写下5个以上的字符.

不要那样做!

尝试增加s之前的大小

int main()
{
char s[11] = "hello";
/* ... */
Run Code Online (Sandbox Code Playgroud)

在编辑OP后编辑

更改s主到

char *s = "hello";
Run Code Online (Sandbox Code Playgroud)

s从具有小空格的数组更改为指向字符串文字的指针.

字符串文字不可修改,因此您不能指望您的代码可以使用更改.