字符串连接问题解析与代码优化技巧

创始人
2024-12-19 21:19:47
0 次浏览
0 评论

数据结构连接两个字符串的问题

你的程序的问题出在以下几个地方:

1你提到的书中伪代码数组的第0个元素是用来存储整个数组有效元素的个数的。
线。
是一般字符串,不限于char类型。
当你在代码中初始化数组时,你没有使用S[0]来存储字符串字符的长度,而是使用了像strlen这样的函数(它确定'\0'出现之前的字符数)。
简单来说,你的字符数组不能使用S[0]来获取字符串的长度。

2strlen指定“\0”出现之前的字符数。
在字符串中的有效字符结束后,应添加“\0”来终止字符串,以便可以使用strlen获取值。
整个生产线的尺寸。

下面是根据您的字符数组修改的程序:

#include#include#include#include#defineMAXSTRINGSIZE15typedefcharSString[MAXSTRINGSIZE+1];使用命名空间std;typedef结构{char*ch;intlength;}HString;voidContact(SStringT,SStringS1,SStringS2);intmain(void){SStringT;SStringS11="abcd";SStringS12=“嗯”;abcdefghijk";SStringS22="mmmm";SStringS31="abcdefghijklmn";SStringS32="mmmm"联系人(T,S11,S12);联系人(T,S21,S22);(“暂停”);}void联系人(SStringT,SStringS1,SStringS2){如果((strlen(S1)+strlen(S2))<=MAXSTRINGSIZE){for(unsignedinti=0;iMAXSTRINGSIZE*/){for(unsigned)inti=0;ifor(unsignedinti=0;i

C语言,编写一个函数,作用是连接两个字符串

有3处错误:

printf("连接后的字符串为:%s",c[80]);

改为printf("连接后的字符串连接连接is:%s",c[80]);

改为printf("连接后字符串为:%s",c[80]);:%s",c);%s读取字符串的地址,而不是数组

returnc[80];

你定义的函数是charcatStr(chara[],char[]b),表示返回值是一个字符

如果要返回字符串的地址,必须写成char*catStr(chara[],charb[])

你返回c[]的函数地址,每次调用函数时都会分配c的地址

最好写成voidcatStr(chara[],charb[],charc[]);

热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python爱心绘制教程:使用turtl... python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...

4
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

5
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

6
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

7
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

8
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

9
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

10
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...