下面是我的代碼:int main(){using namespace std;char ch;
int count = 0;
cout << "Enter a sentence : ";
while (ch=cin.get()!=EOF)
count++;
cout << "The last ch is: " << ch << endl;
cout << "You have entered " << count << " chars." << endl;
return 0;}如果輸入是“I”+,那么這里的輸入總是對EOF沒有反應,無法終止循環(huán),再單獨輸入一個EOF才能終止;如果直接輸入EOF反而可以直接終止,有哪位大牛能說明一下為什么會這樣?
2 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
下面是我的代碼:
int main()
{
using namespace std;
char ch; int count = 0; cout << "Enter a sentence : "; while (ch=cin.get()!=EOF) count++; cout << "The last ch is: " << ch << endl; cout << "You have entered " << count << " chars." << endl; return 0;
}
如果輸入是“I”+,那么這里的輸入總是對EOF沒有反應,無法終止循環(huán),再單獨輸入一個EOF才能終止;如果直接輸入EOF反而可以直接終止,有哪位大牛能說明一下為什么會這樣?

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
char ch;
int count = 0;
cout << "Enter a sentence : ";
while (**(ch=cin.get())
**!=EOF) 這里要括號。
count++;
cout << "The last ch is: " << ch << endl;
cout << "You have entered " << count << " chars." << endl;
return 0;
- 2 回答
- 0 關注
- 627 瀏覽
添加回答
舉報
0/150
提交
取消