1. 程式人生 > >while迴圈內輸入和迴圈外輸入有何區別?

while迴圈內輸入和迴圈外輸入有何區別?

int main()
{
    show();
    char ch;
    cin >> ch;
    while (ch != 'q')
    {
        switch (ch)
        {
        case'a':count_name(); break;
        case'b':count_title(); break;
        case'c':count_bopname(); break;
        case'd':count_preference(); break;
        default:cout << "It's not a right choice\n";
            cout << "pleast input the next choice:_\b";
            cin >> ch;
        }
    }
    system("pause");
    return 0;

 }

此時ch在外輸入,執行時輸入a,b,c,d程式進入死迴圈。改為

while(cin>>ch&&ch!='q')

程式正常執行。

點解