用C语言编程:编写一个函数,将两个字符串连接起来
6个回答
展开全部
#include<stdio.h>
void main()
{
void con(char sting1[],char sting2[],char sting3[]);
char s1[20],s2[20],s3[40];
printf("Input sting1: ");
scanf("%s",s1);
printf("Input sting2: ");
scanf("%s",s2);
con(s1,s2,s3);
printf("%s\n",s3);
}
void con(char sting1[],char sting2[],char sting3[])
{
int i,j;
for(i=0;sting1[i]!='\0';i++)//////////////////////////多个分号
sting3[i]=sting1[i];
for(j=0;sting2[j]!='\0';j++)//////////////////////////多个分号
sting3[i+j]=sting2[j];
sting3[i+j]='\0';
}
void main()
{
void con(char sting1[],char sting2[],char sting3[]);
char s1[20],s2[20],s3[40];
printf("Input sting1: ");
scanf("%s",s1);
printf("Input sting2: ");
scanf("%s",s2);
con(s1,s2,s3);
printf("%s\n",s3);
}
void con(char sting1[],char sting2[],char sting3[])
{
int i,j;
for(i=0;sting1[i]!='\0';i++)//////////////////////////多个分号
sting3[i]=sting1[i];
for(j=0;sting2[j]!='\0';j++)//////////////////////////多个分号
sting3[i+j]=sting2[j];
sting3[i+j]='\0';
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
char s1[80],s2[40];
int i=0,j=0;
printf("\nInput the first string:");
scanf("%s",s1);
printf("\nInput the second string:");
scanf("%s",s2);
while (s1[i] !='\0')
/**********FOUND**********/
i++;
while (s2[j] !='\0')
/**********FOUND**********/
s1[i++]=s2[j++]; /* 拼接字符到s1 */
s1[i] ='\0';
printf("\nNew string: %s",s1);
}
void main()
{
char s1[80],s2[40];
int i=0,j=0;
printf("\nInput the first string:");
scanf("%s",s1);
printf("\nInput the second string:");
scanf("%s",s2);
while (s1[i] !='\0')
/**********FOUND**********/
i++;
while (s2[j] !='\0')
/**********FOUND**********/
s1[i++]=s2[j++]; /* 拼接字符到s1 */
s1[i] ='\0';
printf("\nNew string: %s",s1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
char *catstr(char *a,char *b)
{
char *p=a,*q=b;
while(*p) p++;
while(*q)*p++=*q++;
*p='\0';
return a;
}
void main()
{
char s1[50]="abcdef";
char s2[]="12345678890";
printf("s1+s2=%s\n",catstr(s1,s2));
}
char *catstr(char *a,char *b)
{
char *p=a,*q=b;
while(*p) p++;
while(*q)*p++=*q++;
*p='\0';
return a;
}
void main()
{
char s1[50]="abcdef";
char s2[]="12345678890";
printf("s1+s2=%s\n",catstr(s1,s2));
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实楼上的
char *q这个变量没什么意义!
b作为参数传递进来以后本身就另外一个临时的指针变量来保存,并不会影响原先参数的地址值。
不信大可把q变量去掉 (*q)改为(*b) *q++改为*b++结果一样。
char *q这个变量没什么意义!
b作为参数传递进来以后本身就另外一个临时的指针变量来保存,并不会影响原先参数的地址值。
不信大可把q变量去掉 (*q)改为(*b) *q++改为*b++结果一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询