A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pprgra56 中级黑马   /  2014-3-12 11:29  /  1488 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 pprgra56 于 2014-3-13 15:47 编辑

C语言中怎么连接两个字符型的数组 就是 打印 a[]+b[] (我知道这么写不对)

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

8 个回复

倒序浏览
连接字符串是看你要什么效果,把俩字符串变成1个字符串,或者只是让两个字符串连续输出
回复 使用道具 举报
可以使用系统提供的函数strcat,若要自己实现的话思路如下: 1.获得两个字符串的长度,相加,开辟一个长度为前面两个字符串长度和的数组; 2.将两个字符串中的值依次赋值到新的字符串中。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
这个简单
printf("%s",strcat(str1,str2));
注意:1)字符数组1必须足够大,以便容纳连接后的新字符串.
       2)不必考虑'/0',stract函数会自动帮你取消'/0'.

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
你可以给第一字符串开辟一个长一点的空间,把第二个字符串中的元素赋给第一个,输出第一个字符串就行了
回复 使用道具 举报
如果把A字符串和B字符串连接,可以定义第三个字符数组C,先把A字符串保存到C中,然后把B追加到C之后。就是把A和B中的每个字符依次保存到C中
回复 使用道具 举报
可以先定义1个Temp数组用来存放a[],然后在把b[]存放在a[]后面,
这样Temp数组就把数组a[]和b[]连接起来了。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
朋友 保险起见 先用strlen 求下长度 比较下 然后再strcat 这样省的内存溢出 那样就郁闷了 编译器还不能全报错关于内存错误的 其实可以分别求下长度 长度相加 形成新的 字符串数组 然后再strcat 我觉得这样安全点

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
使用strcat函数,但是有注意点,strcat必须要求两个字符串都有结束符,否则会有问题,且第一个字符串要有足够空间,否则会失败。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马