兄台代码:
#include <stdio.h>
int main(){
int month;
printf("请输入数值:\n"); scanf("%d",&month);
while (month<=0){
//提示用户重新输入数值
printf("请重新输入数值:\n"); //输入月份
scanf("%d",&month); } while (month>12){
printf("请重新输入数值:\n"); scanf("%d",&month);
}
兄台的代码有一个bug, 如果用户开始输入的月份是 13 ,就会不会满足 month <= 0 这个条件,自然会进入下一个条件
month > 12 然后如果用户在这输入 0的 就会不满足 month > 12 ,所以最终的月份会是 0月
建议兄台可以使用 do{}while();
如 do{
printf("请输入月份:\n");
scanf("%d", &month);
}while(month < 1 || month > 12);
不知道兄台是否明白
|