while (1) {
if (scanf("%d", &i) && getchar() == '\n')
if(i>0) break;
else {
printf("请重新输入:");
}
else {
while (getchar() != '\n');
printf("请重新输入:");
}
}是否以非数字开头和是否后接回车同时检测,目测可行。
本文介绍了一种使用C语言进行输入验证的方法,该方法能够确保用户输入为有效的正整数。通过结合使用scanf()和getchar()函数,程序能够判断输入是否为数字,并检查其是否以非数字字符开头及是否以回车符结束。
while (1) {
if (scanf("%d", &i) && getchar() == '\n')
if(i>0) break;
else {
printf("请重新输入:");
}
else {
while (getchar() != '\n');
printf("请重新输入:");
}
}
1万+

被折叠的 条评论
为什么被折叠?