我的程序卡在do ,, while循环在c
我有一个问题,解决这个问题: 我必须接收数字作为输入和第一个数字必须为0(如果数字为0关闭循环)但是编译器让我把一个号码作为输入,当我按下ENTER它stucks 这里是我的代码:我的程序卡在do ,, while循环在c
#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);
}
num
和b
在循环的else
分枝比b
其他要num/10
未设置。所以它只会运行else
-branch永远
将来,请修改您当前的答案,然后取消删除。 –
假设它*进入'else'分支。 –
将会这样做,但当时我没有“undelete”选项。或者至少不可见。我想如果我会刷新它将显示的页面。 – TinyTheBrontosaurus
我认为你该[学会如何调试你的程序]了(https://ericlippert.com/2014/03/05/how-to-debug-small -程式/)。 –
我看错了!发布太快,然后太快删除!它现在回来了! – TinyTheBrontosaurus