高手进,请讨论下如何C/C++中输入字符串。

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:08:45
#include<iostream>
#include<string>
using namespace std;

void main(){
char *p;
char arr[];
string str;

cin>>p>>endl;
cin>>arr>>endl;
cin>>str>>endl;

cout<<p<<endl;
cout<<arr[]<<endl;
cout<<str<<endl;
}
C语言下面,定义一个char的数组,然后scanf("%S",)这个我知道,
C++下面我就搞不清除了,这个程序到处都错误!
请高手讨论下,哪里错误。

void main()
{
char *p; //这里是一个字符指针,没有初始化,可以改成cha *p=new char[100]
char arr[];
string str;

cin>>p>>endl;//这里不需要加“endl;”因为endl不同于C中的\n,endl除了代表换行,还紧跟着清出缓冲槽,在输出的时候才用到。
cin>>arr>>endl;
cin>>str>>endl;

cout<<p<<endl;
cout<<arr[]<<endl;
cout<<str<<endl;

delete[] p; //释放内存
p=NULL; //指针赋值为空
}

不知道以上答案是否解决了你的问题。

#include<iostream>
#include<string>
using namespace std;

void main()
{
char *p;
char arr[100]; //不接受无下标的数组 或者char arr[]="abcdef";
string str;

cin>>p; //cin重载了赋值运算 但是不能给endl赋值,要分配空间
endl只能给cout
cin>>arr;
cin>>str;

cout<<p<<endl;
cout<<arr<<e