考慮以下2個的代碼片段:Diffrence
案例1:
#include <iostream>
int main()
{
int i=0;
char c='a';
i=c;
cout << i << endl; //Retuens ASCII value of 'a'
return 0;
}
案例2:
#include <iostream>
int main()
{
cout << "Enter integer value" << endl;
int i=-1;
cin >> i; //Assume user enters 'a'
cout << i << endl; //prints -1 on screen
return 0;
}
在案例1中,當我們使用賦值ASCII等效的'a'
被分配給int i
,但是在情況2中int i
是-1
。爲什麼這兩種情況下的行爲不同?它是否由設計?輸入字符時,使用cin
是否可以(使用標準功能)輸入ASCII值,用於整型變量?
//我明白cin失敗了。我想知道的是:爲什麼cin在輸入char時失敗,如果賦值正確指定ascii值?
良好的格式是你的朋友 –
看來'cin'流會失敗,所以'我'不會受到影響。你有沒有'cin'的錯誤狀態? – Kyle
是的,我知道cin失敗了。我想知道的是:爲什麼cin在輸入char時失敗,如果賦值正確指定ascii值? – Yogesh