为什么 do while 循环不会中断?

问题描述

我在使用以下代码时遇到问题

switch(adminChoice){
    case 1:
        do{
            cout<<"\nEnter Student ID: ";
            cin>>studentId;
            cout<<"\nEnter Student Name: ";
            cin>>studentName;
            cout<<"\nEnter Student Password: ";
            cin>>studentPassword;
            cout<<"\nAdd another account? y/n ";
            cin>>adminSubChoice;
        }
        while(adminSubChoice!='n' || adminSubChoice !='N');
        break;
    case 2:

当我为 do while 变量 char 输入 n 或 N 时,adminSubChoice 不会中断,它会一次又一次地运行。有人能告诉我我做错了什么吗?

解决方法

条件 adminSubChoice!='n' || adminSubChoice !='N' 将始终为真,因为任何字符都不会同时为 nN

条件应该是adminSubChoice!='n' && adminSubChoice !='N'