【发布时间】:2014-05-12 13:31:24
【问题描述】:
我只是使用函数scanf()。代码如下:
scanf("%d",&a);
printf("%d",a);
当我输入 1 时,它会打印出我想要的 1。 但即使我输入 1a,它也会像以前一样打印 1。 当用户输入不是整数的东西时((例如)2.3,12ab,1 a) 我想向用户显示“输入整数”之类的警告。
我该如何解决这个问题?
【问题讨论】:
-
您希望人们只输入一个数字还是一个整数(即 13445 是否有效?)
-
在scanf之后做
getchar();如果既不是EOF也不是\n,那么他们一定在数字后面输入了另一个字符 -
一个像12345这样的整数。另外,当字符像123abc一样进入时,我想抓住它并显示警告。
标签: c