在线等答案!!!!为什么这个程序运行后最后会出现乱码????、、、求大虾指点迷津...........。。。。
#include<stdio.h>#include<string.h>intmain(){chars1[20],s2[10];inti,len;printf("请输入不超...
#include <stdio.h>
#include <string.h>
int main()
{
char s1[20],s2[10];
int i,len;
printf("请输入不超过十位的字符串:");
gets(s1);
printf("请再次输入不超过十位的字符串");
gets(s2);
for(i=0;s1[i]!='\0';i++);
len=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len]=s2[i];
printf("%20s\n",s1);
return 0;
} 展开
#include <string.h>
int main()
{
char s1[20],s2[10];
int i,len;
printf("请输入不超过十位的字符串:");
gets(s1);
printf("请再次输入不超过十位的字符串");
gets(s2);
for(i=0;s1[i]!='\0';i++);
len=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len]=s2[i];
printf("%20s\n",s1);
return 0;
} 展开
4个回答
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
char s1[20],s2[10];
int i,len1,len2;
printf("请输入不超过十位的字符串:");
gets(s1);
printf("请再次输入不超过十位的字符串");
gets(s2);
for(i=0;s1[i]!='\0';i++);
len1=i;
for(i=0;s2[i]!='\0';i++);
len2=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len1]=s2[i];
s1[len1+len2] = '\0'; //加上结束符
printf("%s\n",s1);
return 0;
}
这样就好了,
#include <string.h>
int main()
{
char s1[20],s2[10];
int i,len1,len2;
printf("请输入不超过十位的字符串:");
gets(s1);
printf("请再次输入不超过十位的字符串");
gets(s2);
for(i=0;s1[i]!='\0';i++);
len1=i;
for(i=0;s2[i]!='\0';i++);
len2=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len1]=s2[i];
s1[len1+len2] = '\0'; //加上结束符
printf("%s\n",s1);
return 0;
}
这样就好了,
展开全部
for(i=0;s1[i]!='\0';i++);
len=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len]=s2[i];
在这个后面加一个
s1[i+len]='\0';
我试过了。。。加了之后应该是没有问题的。。。
因为字符串遇到\0结束。。。。如果不加。。。后面就会些乱码出去了。。。
在后面加上表示字符串的结束。。。
希望能帮到你。。。
len=i;
for(i=0;s2[i]!='\0';i++)
s1[i+len]=s2[i];
在这个后面加一个
s1[i+len]='\0';
我试过了。。。加了之后应该是没有问题的。。。
因为字符串遇到\0结束。。。。如果不加。。。后面就会些乱码出去了。。。
在后面加上表示字符串的结束。。。
希望能帮到你。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序有问题,你是要分别输出两次的字符串吗 ?还是什么?问题说清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先初始化s1[20],s2[10];
追问
怎么初始化?你改一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询