当前位置: 代码迷 >> C语言 >> 字符串拷贝
  详细解决方案

字符串拷贝

热度:210   发布时间:2007-07-29 21:47:06.0
字符串拷贝
我想实现s2中的字符拷到s1中。但是程序输出“i love china 々$№i love china",为什么?我想输出i love china.谁帮我改改。

#include<stdio.h>
#include<string.h>
main()
{
int i;
char s1[20];
char s2[]={"i love china"};
for(i=0;i<strlen(s2);i++)
s1[i]=s2[i];
puts(s1);
getch();
}
搜索更多相关的解决方案: 字符  拷贝  

----------------解决方案--------------------------------------------------------
char s1[20];
memset(s1,0,sizeof(s1));
----------------解决方案--------------------------------------------------------
看你这么爱国,给你改下:
#include<stdio.h>
#include<string.h>
main()
{
int i;
char s1[20];
char s2[]={"i love china"};
for(i=0;i<=strlen(s2);i++) //注意字符串结尾的'\0'
s1[i]=s2[i];
puts(s1);
getch();
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
main()
{
int i;
char s1[20];
char s2[]={"i love china"};
for(i=0;i<strlen(s2);i++)
s1[i]=s2[i];
s1[i]='\0'; /*少了这一句*/
puts(s1);
getch();
}
----------------解决方案--------------------------------------------------------
  相关解决方案