请C++高手们帮忙解答一下: 请看以下程序哪里错了,在VC++中编译无错,运行就是有错误! 谢谢!

2024年11月28日 13:50
有6个网友回答
网友(1):

s是一个指针,需要指向一个分配的内存,才能写

网友(2):

晕,一个指针 呀。

网友(3):

没有为char new一个空间。
现在一般最好不要用char,用string代替。char需要你来new空间,以及用完后delete空间。string就不需要,它会自动完成,所以如果没事么特殊需求,最好用string,简单方便。

网友(4):

*s 改成 s[]

网友(5):

程序修改如下:

int main()

{

  char *s = new char[11];

  cout<<"请输入一个字符串:";

  cin.getline(s,10);

  cout<<"输入的字符串为:";

  cout.write(s,strlen(s));     //此句改为cout<

  cout<

  delete s;

}

有图有真相:

网友(6):

cout<不能直接输出vector的变量,没有相应的重载。如果要的话,得自己写重载。
可以用循环输出
for(vector::size_type i=0;i!=str.size();++i)
cout<