C++里的cin和cout与指针
我用C语言写个char*p;scanf("%s",p);printf("%s",p);这样就能输出整个P所指向的字符串来,可是用C++的cincout怎么实现呢?...
我用C语言写个 char *p;scanf("%s",p);printf("%s",p);这样就能输出整个P所指向的字符串来,可是用C++的cin cout 怎么实现呢?
展开
3个回答
2013-11-02
展开全部
C++ primer plus 5 中93页中间有一句讲到这个问题。声明一个指针,指针中对应的内容为一个地址,地址对应的内存不一定是有效的或者不一定是可用的。所以没有初始化的指针是不能用的;你是想通过向给一个指针赋值是不行的,给他指向的地址赋值又是不合法的。所以这是无法办到的。我调试你的那个代码,无法运行!!要是真的想这样赋值只好这样:char * ptr;ptr = new char; // 这句话将这个指针指向的地址给了一个合法的初始值,所以后面的内容不会报错。cin >> * ptr;cout << *ptr;// 看不懂再问。。很高兴你的分享自己的问题。
2013-11-02
展开全部
一样cout<<p
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-02
展开全部
#include<iostream>
using namespace std;
void main()
{
char c;
char *p;
p=&c;
cin>>p;
cout<<p<<endl;
}
using namespace std;
void main()
{
char c;
char *p;
p=&c;
cin>>p;
cout<<p<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询