我在解决此问题时遇到问题: 我必须接收数字作为输入,第一个数字必须为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);
}
答案 0 :(得分:4)
num
和b
未在循环的else
- 分支中设置,而不是b
为num/10
。所以它只会运行else
- 分支