我需要创建一个从用户那里获取输入的函数,并确保它是一个整数并且不包含任何字符。
我编写了这段代码,它非常适用于整数和单个字符。但如果我输入dfd
即多字符输入,它就会终止。下面是我在 Linux 上用 gcc 编译的代码:
#include <ctype.h>
int getint()
{
int input = 0;
int a;
int b, i = 0;
while((a = getchar()) != '\n')
{
if (a<'0'||a>'9')
{
printf("\nError in input!Please try entering a whole number again:");
input=0;
fflush(stdin);
return getint();
}
b = a - '0';
input = ((input*10) + b);
i++;
}
return input;
}