84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
以下代码为什么会报错,以及如何正确删除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 更好。