中易网

我的 strcat() 不行。

答案:2  悬赏:20  
解决时间 2021-02-18 05:38
我的 strcat() 不行.我试了 char *s1 = "Hello, "; char *s2 = "world!"; char *s3 = strcat(s1, s2); 但是我得到了奇怪的结果。
最佳答案
C 没有提供自动管理的字符串类型。C 编译器只为源码中明确提到的对象分配空间 (对于字符串, 这包括字符数组和串常量)。程序员必须为字符串连接这样的运行期操作的结果分配足够的空间, 通常可以通过声明数组或调用 malloc() 完成。
strcat() 不进行任何分配; 第二个串原样不动地附加在第一个之后。因此, 一种解决办法是把第一个串声明为数组:

char s1[20] = "Hello, ";

由于 strcat() 返回第一个参数的值, 本例中为 s1, s3 实际上是多余的; 在 strcat() 调用之后, s1 包含结果。
提问中的 strcat() 调用实际上有两个问题: s1 指向的字符串常数, 除了空间不足以放入连接的字符串之外, 甚至都不一定可写。
全部回答
请参照这个写
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
广东省的潮汕职业技术学院怎么样?学费多少?
jcb挖掘机电路板在什么位置,怎么拆卸
手刹杆时间长了抬的很高
14除16竖式计算
恒通五金在哪里啊,我有事要去这个地方
有块土地面积300亩,容积率2·9地价2·53亿,
我把家里的LOL拷到了U盘了 换了一台电脑后插
西少QQ493855513空间第一首歌曲的背景音乐叫
我在来这条路上迷路了 不得不找警察帮忙用英
大脸鸡排(明光店)地址在什么地方,想过去办事
万喜厨房电器专卖店这个地址在什么地方,我要
见到释迦牟尼佛十二岁等身佛像痛哭不已是什么
有没有GHOST版的WIN7正版下载?
未来厨房长什么样?智能厨房的功能会有哪些
版主请进,Octenisept 液体创可贴到底可不可
推荐资讯
煤矿机电人工远方漏电试验,是不是必须每月做
请问大家,这个星月上的红色珠子是什么
德高防水20公斤多少钱一桶?
将产品发外加工的账务处理?
蓉庆自选商场这个地址在什么地方,我要处理点
求建生的英文谐音名字?
再搜一部韩国电影。。
推荐一些城市景观亮化(夜景美化)方面的微信公
卓宝立体图像制作室地址在哪,我要去那里办事
上市公司富贵鸟股份是什么时候A轮千万美元投
1.5T涡轮,和2.0自吸,哪个省油
巨生网咖凯州店我想知道这个在什么地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?