C++ Primer(第四版) 课后习题4.30

---恢复内容开始---

问题:

  编写程序连接两个 C 风格字符串面值,把结果存储在一个C 风格字符串面值。

代码:

#include <iostream>

using namespace std;

int main()
{
	const char *pStr1 = "Hello ";
	const char *pStr2 = "World!";
	size_t len = strlen(pStr1) + strlen(pStr2);
	char *result_str = new char[len + 1];
	strcpy(result_str, pStr1);
	strcat(result_str, pStr2);
	cout<<result_str<<endl;
	delete []result_str;
	return 0;
}

总结:  

  (1)动态数组,使用new表达式且有 [],必须使用delete表达式且有 []释放。

   (2) strcpy和strcat第一个参数必须是数组指针。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。