| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
int main() 
{ 
      char answer; 
 
      std::cout << "可以格式化您的硬盘吗?[Y/N]"; 
      std::cin >> answer; 
      std::cout << "\n"; 
 
      switch( answer ) 
      { 
      case 'Y': 
      case 'y': 
            std::cout << "我想还是别了, 数据丢了妈妈会骂的~" << "\n"; 
            break; 
 
      case 'N': 
      case 'n': 
            std::cout << "您的选择是正确的, 硬盘不能随便给人格式化!" << "\n"; 
            break; 
 
      default: 
            std::cout << "请输入[Y/N]回答问题。" << "\n"; 
            break; 
      } 
 
      std::cout << "输入任意键结束程序!" << "\n"; 
      std::cin.get(); 
      std::cin.ignore(100, '\n'); 
 
      return 0; 
} 
 
 
 
 
 
 
 
 
 
程序中红色标注的部分,  std::cin.ignore(100, '\n');不是应该放到std::cin.get();语句前面吗?但是放到后面也成立,为什么? 
 
 
这里对新手不太关注,我也刚开始学习C++,我的理解是缓冲区里没有残余数据了,你最后一句加不加没关系,如果有残余的的话应该放在cin.get()前面 
 
 
 |   
 
 
 
 |