c的问题为什么只能显示第一个数

来源:百度知道 编辑:UC知道 时间:2024/06/17 12:06:17
#include <stdio.h>
#define M 60
int main () {
int min,hour,left;
printf("Please enter a number.\n");
scanf("%d",&min);
while (min>0) {
hour = min/M;
left = min%M;
printf("%d is %d hours and %d minuters\n",min,hour,left);
printf("Please enter another number . \n");
scanf ("%d",min);
}
return 0;
}
为什么只能显示第一个数


scanf("%d",&min);
while (min>0)
这两行改成
while (scanf("%d",&min) && min>0)

然后删掉第12行scanf ("%d",min);

当然,你也可以直接修改第12行
scanf ("%d",min);

scanf ("%d",&min);
但我个人认为这种代码书写方式不够优雅