#include
#include
using namespace std;
int main()
{string ch;
char *p=&ch[0];
gets(p);
cout<<ch<<endl;
system("pause");
}
为什么键入不了字符串。
vs版本是2012
string ch;
char *p = &ch[0];
gets(p);
cout<<&ch[0]<< endl << p <<endl;
return 0;
这个才是正确的写法。。cout <<ch 这个编译都不过。。
缺少iostream的头文件啊
头文件不仅缺少iostream还有string。但把头文件加完整之后你会发现还是输出不了ch。然后可以用指针输出?这是为什么呢?因为你在定义string时,系统把ch初始化为空串也就是系统分配的空间是0,自然写不进去了,你可以尝试着在定义ch时事先分配一些空间,这个程序就可以了~亲测
_getch(); 使用这个函数试试