我正在尝试编写字符串连接代码.我想知道它有什么问题.你能不能帮帮我吧 这是我的代码.
#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"是否会产生任何差异?
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从具有小空格的数组更改为指向字符串文字的指针.
字符串文字不可修改,因此您不能指望您的代码可以使用更改.
| 归档时间: |
|
| 查看次数: |
135 次 |
| 最近记录: |