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

编写函数catStr(char str1[],char2[])用于进行俩个字符串的连接,编写函数lenStr(char
str[])用于统计一个字符串的长度,并在主函数中调用。

要求:

1不允许使用strcat()和strlen()字符处理库函数;

2在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数lenStr()计算并返回两个字符串的长度;

3调用函数catStr()连接两个字符串(将str2连接在syr1后边);

4调用函数lenStr计算并返回连接后字符串的长度;

5在主函数中输出俩个原始字符串及各字符串的长度,以及处理后的字符串及其长度。

#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);    
}

已经运行过。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-12
#include <stdio.h>

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;
}
相似回答