这个问题以前已经问过,但我从来没有找到一个清晰和简单的答案,所以我再次问它...如何检查C语言的数值?
我想知道,不使用任何其他库比stdio。 h,如何检查用户输入的是否是数字值。基本上,要求用户输入介于0和9之间的值。如果该数字在这两者之间,则继续。例如,如果数字为12,则循环返回问题并再次请求该号码。
它工作正常,但如果我输入一个字母或一个十进制数,它进入一个无限循环......
基本上这里是我的问题:我该如何检查输入的值是不是字符和非小数?
这里是代码的开头:(对不起,它在法国,但你的想法...)
int main()
{
int nb1, nb2, rand_1, rand_2;
int nb_coups = 0;
int points = 0;
printf("\n\n ------ BIENVENUE A LA GRANDE ROUE ! ------\n\n");
do{
//Saisie 1er nombre
printf("Entrez le premier nombre choisi (entre 0 et 9) : ");
scanf("%d",&nb1);
//Tant que le 1er nombre n'est pas compri entre 0 et 9, on le redemande
while(nb1<0 || nb1>9)
{
printf("Nombre incorrect. Entrez le premier nombre choisi (entre 0 et 9) : ");
scanf("%d",&nb1);
}
//On affiche le 1er nombre
printf("Le nombre choisi est : %d\n\n",nb1);