while (1) {
if (scanf("%d", &i) && getchar() == '\n')
if(i>0) break;
else {
printf("请重新输入:");
}
else {
while (getchar() != '\n');
printf("请重新输入:");
}
}
是否以非数字开头和是否后接回车同时检测,目测可行。
while (1) {
if (scanf("%d", &i) && getchar() == '\n')
if(i>0) break;
else {
printf("请重新输入:");
}
else {
while (getchar() != '\n');
printf("请重新输入:");
}
}