首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

CIN,这样为什么不行,该怎么解决

2012-03-20 
CIN,这样为什么不行C/C++ codeint main(){char *pcinpcout p endl}[解决办法]因为p没有初始化[

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没有初始化

[解决办法]
因为你没有给P分配内存:
C/C++ code
int main(){    char p[256] = {0};    cin>>p;    cout << p << endl;} 

热点排行