我的程序停留在do,while循环在c

时间:2017-11-25 18:37:05

标签: c loops while-loop do-while

我在解决此问题时遇到问题: 我必须接收数字作为输入,第一个数字必须为0(如果数字为0关闭循环)但编译器让我只输入一个数字作为输入,当我按下输入它卡住 这是我的代码:

 #include <stdio.h>
 int main(){
  int num=0, max=0, first=0, a=0, b=0;

  do{

      b = num /10;
      if(b==0)

        scanf("%d", &num);


      else{
        a = num%10;
        if (max < a){
          max = a;
          first = num;
          a=b;
        }
    }

  }
  while(num > 0);

  printf("%d\n%d", max, first);




}

1 个答案:

答案 0 :(得分:4)

numb未在循环的else - 分支中设置,而不是bnum/10。所以它只会运行else - 分支