
C语言 为什么这个程序运行不了啊~~求高手们帮帮忙看看吧~~题目是 将第二个字符串连接到第一个字符串中~~
题目是将第二个字符串连接到第一个字符串中~~不能用strcat函数~~谢谢啦~~忘记把程序贴上来了~~下面是程序:#include<stdio.h>#include<st...
题目是 将第二个字符串连接到第一个字符串中~~不能用strcat函数~~
谢谢啦~~
忘记把程序贴上来了~~
下面是程序:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[50],str2[50],str3[100];
int i,j;
int len1,len2;
printf("请输入第一个字符串");
gets(str1);
printf("请输入第二个字符串");
gets(str2);
len1=strlen(str1);
len2=strlen(str2);
for(i=0;i<len1;i++)
str3[i]=str1[i];
for(j=0;j<len2;j++)
str3[len1+j]=str2[j];
str3[len1+len2]='\0';
printf("连接后的字符串为:\n");
for(i=0;i<=len1+len2;i++)
printf("%s",str3[i]);
} 展开
谢谢啦~~
忘记把程序贴上来了~~
下面是程序:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[50],str2[50],str3[100];
int i,j;
int len1,len2;
printf("请输入第一个字符串");
gets(str1);
printf("请输入第二个字符串");
gets(str2);
len1=strlen(str1);
len2=strlen(str2);
for(i=0;i<len1;i++)
str3[i]=str1[i];
for(j=0;j<len2;j++)
str3[len1+j]=str2[j];
str3[len1+len2]='\0';
printf("连接后的字符串为:\n");
for(i=0;i<=len1+len2;i++)
printf("%s",str3[i]);
} 展开
6个回答
展开全部
程序主要有语法错误和算法问题,经上机实战以下为正确答案,请楼主参考
#include<stdio.h>
#include<string.h>
void main()
{
char str1[50],str2[50],str3[100];
int i,j,len=0;
int len1,len2;
printf("请输入第一个字符串");
gets(str1);
printf("请输入第二个字符串");
gets(str2);
len1=strlen(str1);
len2=strlen(str2);
len=len1+len2;
for(i=0;i<len1;i++)
str3[i]=str1[i];
str3[len]='\0';
for(j=0;j<len2;j++)
{
str3[len1+j]=str2[j];
str3[len]='\0';
}
printf("连接后的字符串为:\n");
printf("%s\n",str3);
}
最后一个for循环是多余的,删除掉,然后就是字符数组输出格式改为 printf("%s\n",str3);即可
#include<stdio.h>
#include<string.h>
void main()
{
char str1[50],str2[50],str3[100];
int i,j,len=0;
int len1,len2;
printf("请输入第一个字符串");
gets(str1);
printf("请输入第二个字符串");
gets(str2);
len1=strlen(str1);
len2=strlen(str2);
len=len1+len2;
for(i=0;i<len1;i++)
str3[i]=str1[i];
str3[len]='\0';
for(j=0;j<len2;j++)
{
str3[len1+j]=str2[j];
str3[len]='\0';
}
printf("连接后的字符串为:\n");
printf("%s\n",str3);
}
最后一个for循环是多余的,删除掉,然后就是字符数组输出格式改为 printf("%s\n",str3);即可
展开全部
一直都对,只有最后两行改一下就行。
for(i=0;i<=len1+len2;i++)
printf("%s",str3[i]);
需要修改为:
for(i=0;i<=len1+len2;i++)
printf("%c",str3[i]);
或者直接简单的:
printf("%s",str3);
for(i=0;i<=len1+len2;i++)
printf("%s",str3[i]);
需要修改为:
for(i=0;i<=len1+len2;i++)
printf("%c",str3[i]);
或者直接简单的:
printf("%s",str3);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用数组做,这是我从书上抄的答案
#include<stdio.h>
void main()
{char s1[80],s2[40];
int i=0,j=0;
printf("input string1:");
scanf("%s",s1);
printf("input string2:");
scanf("%s",s2);
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];
s1[i]='\0';
printf("The new string is:%s\n",s1);
}
#include<stdio.h>
void main()
{char s1[80],s2[40];
int i=0,j=0;
printf("input string1:");
scanf("%s",s1);
printf("input string2:");
scanf("%s",s2);
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];
s1[i]='\0';
printf("The new string is:%s\n",s1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求幂运算!
如果你想表示一个很小的数最简单的办法就是直接写0.000001
或者使用pow函数,pow(底数,指数)
如果你想表示一个很小的数最简单的办法就是直接写0.000001
或者使用pow函数,pow(底数,指数)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路是对的,有点细节上的错误。
建议你用指针再练习一下,毕竟指针用的多。
建议你用指针再练习一下,毕竟指针用的多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%s改成%c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询