吃一天少一天 2021-04-15 22:05 采纳率: 85.7%
浏览 54
已采纳

不明白这个次数限制,就是理解不了 int = 0; while (1&&a<6){a++...?

int num = rand() % 100 + 1;   
    cout << num << endl;
   
    int val = 0;
  
    int a = 0;                  //1    这是个很简单的猜字游戏,我不明白这个次数限制,就是理解不了 int = 0; while (1&&a<6){a++.............}
    while (1&&a<6)        //2    这个是抄的弹幕123,正常是 int val = 0;   while(1){cin>>val;   if............就是没有次数限制可以理解
    {                               //3    加了while(1&&a<6){a++;.....    就没搞懂这个表达式怎么理解
        a++;//3  
        cin >> val;
        if (val > num)
        {
            cout << "数字过大" << endl;
        }
        else if (val < num)
        {
            cout << "数字过小" << endl;
        }

        else
        {
            cout << "正确!!" << endl; break;
        }
    }

  • 写回答

7条回答 默认 最新

  • 关注

    由于while()中必须要有一个值,当要无限循环时就要设置1表示循环条件永远为真,
    当有另外的循环条件时,1&&a<6,是永远为真的1 与 a<6 两者都为真才继续循环。
    这样关键就看a<6的比较,永远为真的1已经不需要了,可以直接写成 while (a<6)
      
        int a = 0;
        while (a<6)
        {
            a++;//3  
            cin >> val;
            if (val > num)
            .........
        }
    等同for循环
        for (int a=1; a<=6; a++)
        {
            cin >> val;
            if (val > num)
            .........
        }  
     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料