2 qq 33486292 qq_33486292 于 2016.03.17 19:57 提问

c++基础的问题,求解!

void str_cat(char*p1,char*p2)
{
*p1+=*p2;
}这样编拼接函数,对吗?怎么输出用这个拼接函数得到的字符串和其长度,谢谢!

1个回答

cxsmarkchan
cxsmarkchan   2016.03.17 20:29
已采纳

不正确。
p1是char指针,所以*p1是一个字符对象。所以你这句话的意思是,p1指向的字符加上p2指向的字符。
例如p1指向字符串"123",p2指向字符串“ABC”,你这个函数的执行结果是p1指向的'1'变成了'1'+'A'所代表的字符,其他不变。
建议使用std库中的函数strcat和strlen来实现你想要的功能。如果你想自己实现的话,这两个函数的代码网上都可以查到。

cxsmarkchan
cxsmarkchan 回复abc罗大侠: strcat(p1, p2); cout << p1 << strlen(p1); strcat的意思是把后者粘贴到前者后面,所以执行完之后,p1就变了。
大约 2 年之前 回复
qq_33486292
qq_33486292 写出了strcat和strlen,然后输出组合字符串和其长度。 cout<<strcat(*p1,*p2)<<strlen(strcat(*p1,*p2)); 这样错在哪里了?
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!