C++中关于cin和cout的简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 03:14:56
请问这个简单的代码中有什么错误?
我运行的时候,等输入几个字符,按回车后就出错,这是怎么回事?

void main()
{
char* path;
cin>>*path;
cout<<*path<<endl;

}

void main()
{
char path[100];
cin>>path;
cout<<path<<endl;
}

如果要用指针,需要申请空间

char *path = new char[100];

最后还有释放
delete []path;

//欢迎在线讨论
#include <iostream>
using namespace std;
void main()
{
char *path;
path=(char*)malloc(100);//这个数字不定
cin>>path;
cout<<path<<endl;
free(path);
}

void mian()
{
char *path=new char[7]; //声名定义一个指针数组,以用来存储你要使用的指针
cin>>path; //输入
cout<<path; //输出
cout<<*path; //这是输出指针数组里的第一个字符
}

你声明的path只是一个指针,你没有给它指定空间。

应该写成这样:
char *path;
path=(char*)malloc(100);//这个数字不定

申请空间:char *path=new char[100];
这样输入:cin>>path;
这样输出:cout<<path;
cout<<*path//这是输出第一个字符