【发布时间】:2013-09-07 14:57:12
【问题描述】:
这个程序有什么问题?
#include<iostream>
using namespace std;
void main()
{
int n = 5;
char* p = new char [n];
int i;
for(i=0;i<n;i++)
{
p[i] = 'A'+i;
}
cout<<p<<endl;
}
为什么我得到的是 "ABCDExxxx" 而不是 "ABCDE" ? 内存分配有什么问题?
【问题讨论】:
-
请在 C++ 中使用
std::string。如果您需要char*,只需调用c_str()方法即可。
标签: c++ memory allocation