close
例如當輸入:a(enter)
則第一次cin>>ch1擷取a字元,enter因為停止擷取字元,故滯留於buffer供給給第二次cin.get(ch2)擷取,
因cin.get(ch2)僅能擷取接收單一個字元,不須停止擷取字元參數,故當接收第一次cin>>ch1完成後的enter鍵字符時,
第二次的cin.get(ch2)比對認為不是停止擷取字元,因而擷取接收enter鍵字符,因此,ch2=enter鍵空字符(=ascii碼十進制的10)
若第二次以擷取字串的cin.get(array,n)代替(使用enter鍵字符作為預設擷取字元),則當第二次的cin.get(array,n)擷取函式遇到
第一次cin>>ch1的enter鍵結束符,判定為第二次的cin.get(array,n)函式的停止結束符,因此不做任何擷取,即結束擷取完畢,使得
array[0]即以字串結束符'\0'表示( 即(int)array[0]=0 )
int main(void)
{
char ch1;
char ch2;
cin>>ch1;
cin.get(ch2);
cout<<"ch1 = "<< ch1<<endl;
cout<<"ch2 = "<<(int)ch2<<endl;
}
全站熱搜