84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
以下代码为什么会报错,以及如何正确删除ch,释放内存。
char *ch = new char(100); char tmp[10] = "e100"; strtod(tmp, &ch); cout << *ch << endl; delete ch; system("pause");
欢迎选择我的课程,让我们一起见证您的进步~~
你写错了,应该是new char[100],同时删除语句应该是delete[] ch,new char(100)的意思是构造一个char并且初始化值为100。
这里是strtod函数用法有误吧——说ch没有初始化也行
请查看strtod用法:http://baike.baidu.com/view/1876981.h...
ch没有初始化的化,其内容是不确定的,strtod极有可能遇不上字符串结束符号(“NULL”)
另外,最后一句 delete[] ch 更好。
你写错了,应该是new char[100],同时删除语句应该是delete[] ch,new char(100)的意思是构造一个char并且初始化值为100。
这里是strtod函数用法有误吧——说ch没有初始化也行
请查看strtod用法:
http://baike.baidu.com/view/1876981.h...
ch没有初始化的化,其内容是不确定的,strtod极有可能遇不上字符串结束符号(“NULL”)
另外,最后一句 delete[] ch 更好。