请教一下程序有何异常,要是异常的话 如何解释
请问一下程序有何错误,要是错误的话 怎么解释?
------解决方案--------------------
strcpy是将第二个参数里的内容复制到第一个参数里,前提是第一个参数指向的内存足够大。
------解决方案--------------------
如果要存储一个字符串的话应该分配多个字符,即数组!如:
#include "stdafx.h"
#include <iostream>
using namespace std;
void f2(char *ch)
{
strcpy(ch,"hello");
cout<<ch<<endl;
}
void f1()
{
char *ch = new char(10);
f2(ch);
delete ch;
}
int _tmain(int argc, _TCHAR* argv[])
{
f1();
system("pause");
return 0;
}
------解决方案--------------------
strcpy是将第二个参数里的内容复制到第一个参数里,前提是第一个参数指向的内存足够大。
char *ch = new char(10); //这句不是分配大小为10的空间给ch,而是用10去初始化*ch。
------解决方案--------------------
char *ch = new char(10); //分配的一个字符
如果要存储一个字符串的话应该分配多个字符,即数组!如:
char *ch = new char[10]; //分配的一个字符