zoukankan      html  css  js  c++  java
  • while中同时使用scanf和break的易错点


    1
    #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 5 6 int main(int argc, char** argv) { 7 int n, difficulty; 8 bool flag = true; 9 while(scanf("%d", &n) != EOF){ 10 while(n){ 11 n--; 12 scanf("%d", &difficulty); 13 if(difficulty){ 14 flag = false; 15 //break;不可以写break,一旦写了break,一遇到1就跳出,输入行的1后的其余部分被认为是下次输入 16 } 17 } 18 if(!flag) 19 printf("HARD "); 20 else 21 printf("EASY "); 22 flag = true; 23 } 24 }

    如果加入了break,当输入为

    4

    0 1 0 1

    输出为

    HEAD

    EASY

    (等待输入一个数字)

    原因是当检测到1break跳出while(n)循环

    输出HEAD

    n被0赋值

    输出EASY

    n被1赋值

    等待输入一个数字

    当在输入一个1时,会输出

    HEAD

  • 相关阅读:
    title中的小图标
    JS
    浏览器的差距
    浏览器的前缀
    布局
    。。。 付解决浏览器兼容问题的两种方法
    form标签
    position讲解
    标题文档流与浮动
    css层叠问题
  • 原文地址:https://www.cnblogs.com/theSunAndSnow/p/11735743.html
Copyright © 2011-2022 走看看