假设现在要实现一个功能。只给用户输入1和2选择的机会
如果用户输入的不是1或2,默认不处理。
如果用户输入的不是字符,则循环提示用户输入1~9的有效数字
void select_students( ){ int a = file_read(); char str[5] = {0}; printf("---------- 查询学生信息 ----------"); printf("\t\t1、按学号查找\t\t2、按姓名查找\n"); /*------------------------------------------------- *------------------------------------------------- * 验证用户输入的是否为数字,如果不是数字,则提示用户循环输入 *------------------------------------------------- *------------------------------------------------- */ while(1){ scanf("%s",str); // 判断用户输入的是不是数字,不是则循环输入 if(strspn(str,"0123456789") != strlen(str)){ printf("请输入1~9的有效数字:\t\t\t"); rewind(stdin); continue; } /* * 当输入的是数字时,结束循环输入 */ else { break; } } // 当用户输入的字符串是数字1或者2 if(stricmp(str,"1") == 0 || stricmp(str,"2") == 0){ printf("输入的是1"); } }