c语言 如果我要写一个getint函数,思路是什么?

Python013

c语言 如果我要写一个getint函数,思路是什么?,第1张

int get_int(void)

 {

 int num

 char str[40]

 while(scanf("%d",&num)!=1)//当输入不是整数

 {

 gets(str)//清空缓存区

 printf("error!%s is not a number.input again.\n")

 }

 while (getchar()!='\n')

 continue//跳过输入行的剩余部分

 return num//返回输入的整数

 }

只能通过在程序运行时提示输入整数。

在读取中,C语言可以做有限度的判断。

int

a

if(scanf("%d",&a)!=1)

可以判断出是否成功读到了一个整型的输入。这种判断方式,对于错误输入,如输入字母等,可以得出结果。但并不稳妥。

比如

当输入12asbc时,scanf会截取12输入整数,并不会识别出错误。

又如,当输入为实数123.4556时,123会被成功读取。

所以,在C语言中,并不能靠输入完全判断是否为合法整数,此项只能靠提示进行约定。