int main(int argc, const char * argv[])
{
cout<< "What's your name?";
string name;
cin>>name;
cout<<"Hello,"<
cin>>name;
cout<<"\nHello,"<<name
<<".Nice to meet you!"<<endl;
return 0;
}
輸出結果是:
What's your name? x y
Hello,x
And what's yours?
Hello,y.Nice to meet you too.
請問,為什麼在第二個輸出中把x給捨棄了,而只顯示y呢?
新手提問,麻煩答得稍微易懂一點。。。
對
string name;
cin>>name;
字符串,以空白符號,(空格,跳格,回車,換行等)
作為結束符。
所以第一個cin>>name接收了 x
第二個接收了 y;
用戶多余的輸入,會留在緩沖區中,
下次的>> 在緩沖中有數據的時候,
會直接收緩沖區中剩下的數據。
不需要繼續輸入數據。