给你一个检验输入是否为整数的函数getint(),调用时只需要如下语句:int i = getint()就可以读入一个整数了。
/***************该函数检验输入是否为整数*********************/
#include <stdio.h>
#include <stdlib.h>
int getint ()
{
char c[20];
int i = 0;
label:
/* 读入一个字符串 */
scanf ("%s", c);
/* 检查该字符串是否为数字 */
while (c[i] != '\0'){
/* 如果有一个字符的ASCII码小于48或者大于57,则输出提示信息,返回label语句,重新读入 */
if (c[i]<48 || c[i]>57){
printf ("输入变量类型不正确\n");
printf ("请重新输入一个整数:");
i = 0; /* 循环变量清零不能忘!*/
goto label;
}
i++;
}
/* 如果全部为整数,则将字符串转化为整数 */
return atoi (c);
}
温馨提示:答案为网友推荐,仅供参考