CIN,这样为什么不行
- C/C++ code
int main(){ char *p; cin>>p; cout << p << endl;}[解决办法]
因为p没有初始化
[解决办法]
- C/C++ code
int main(){ char *p; p=new char; cin>>p; cout << p << endl; delete p; p=NULL;}
[解决办法]
cin>>p; // 没有任何问题,但是意思是像给一个指针赋值,不是指针的值赋值
cout << p << endl; // 跟着上的语句,这句才错了
[解决办法]
野指针也敢进行赋值?
[解决办法]
int main(void)
{
char *p;
p = (char *) malloc(100);
cin >> p;
return 0;
}
[解决办法]
- C/C++ code
int main(void){ char *p; p = (char *) malloc(100); cin >> p; return 0;}
[解决办法]
在studio2005里面编译没有错误,只是警告使用了没有初始化的p,但是运行就崩了;
这样给p分配空间就行了,使用之后再释放这个空间,和楼上的差不多(malloc和 free, new和delete):
- C/C++ code
#include <iostream>using namespace std;int main(){ char* p = new char; cin>>p; delete p; system("pause"); return 0;}
[解决办法]
[解决办法]
因为你没有给P分配内存:
- C/C++ code
int main(){ char p[256] = {0}; cin>>p; cout << p << endl;}