---恢复内容开始---
问题:
编写程序连接两个 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第一个参数必须是数组指针。