void main()
{
char sure;
char str[50];
cout<<"Enter the string(no more than 50 letters): "<<endl;
cin.get(str, 6);
cout<<"Any more strings?(y/n)"<<endl;
         cin>>sure;
if(sure == 'y')
{
             cout<<"Enter the string(no more than 50 letters): "<<endl;
    cin.get(str, 6);
}}
上面代码编译执行后,在第一个cin.get()处程序会等待从屏幕输入字符到str中,然而if语句中的cin.get()却会被跳过,不知道为什么?

解决方案 »

  1.   

    回车了,其实在if语句中的cin.get()的下边还要调用一个函数,但是当程序判断sure=='y'后,并且执行cout<<"Enter the string(no more than 50 letters): "<<endl;后,直接跳过cin.get()没有等待屏幕输入,而执行了后边的函数
      

  2.   

    而且如果没有刷新缓存的话,为什么cin<<sure;这句没有问题?
      

  3.   

    所以我就不高兴用cin 和cout。
      

  4.   

    应该是第二个 cin.get(str, 6);把回车当作输入了,在它之前加上getchar();试试。
      

  5.   

    我觉得应该不是把回车当输入的问题,因为第一个cin.get()就没有问题