c语言 编写函数用于进行俩个字符串的连接,编写函数用于统计一个字符串的长度,并在主函数中调用。求大神

2024-11-09 05:09:09
推荐回答(2个)
回答1:

#include "stdio.h"

int catstr(char *a,char *b,char *c)
{
int i=0,j=0;
for(;*(a+i);i++)*(c+i)=*(a+i);
for(;*(b+j);i++,j++)*(c+i)=*(b+j);
*(c+i)=*(b+j);
return 0;
}

int lenstr(char *a)
{
int i=0;
for(;*(a+i);i++);
return i;
}

void main()
{
    char str1[]="Every one is ",str2[]="leaning C.",str12[50];
    int len1,len2,len12;
    len1=lenstr(str1);
    len2=lenstr(str2);
    catstr(str1,str2,str12);
    len12=lenstr(str12);
    printf("第一个字符串是:\n%s\n长度是:%d\n",str1,len1);
    printf("第二个字符串是:\n%s\n长度是:%d\n",str2,len2);    
    printf("合并后字符串是:\n%s\n长度是:%d\n",str12,len12);    
}

已经运行过。

回答2:

#include

int lenStr (char str[])
{
int i = 0;
for (i = 0; str[i] != '\0'; i++)
{

}
return i;
}
char str[2000];
void catStr (char stra[],char strb[])
{

int len_a = lenStr(stra);
int len_b = lenStr(strb);
int i;
for (i = 0; i < len_a;i++)
{
str[i] = stra[i];
}
for (int j =0;j < len_b;j++)
{
str[i++] = strb[j];
}

}

int main ()
{
char stra[1000],strb[1000];

scanf ("%s%s",stra,strb);

int len_a = lenStr (stra);
int len_b = lenStr (strb);

printf("%s长度是:%d\n",stra,len_a);
printf("%s长度是:%d\n",strb,len_b);

catStr(stra,strb);

int len = lenStr(str);
printf ("%s长度是:%d\n",str,len);

return 0;
}