c语言怎么处理不正确的输入

tomatobin 2011-04-28 03:32:15
比如我要输入一个int型的值,结果我输入了'x',怎么消除这个错误,重新输入int型的值 ,我知道在c++里面可以用cin.clear()来修改。。c里面不知道怎么搞了
...全文
224 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomatobin 2011-05-02
  • 打赏
  • 举报
回复
再次感谢
shyrgst 2011-05-02
  • 打赏
  • 举报
回复
就自己在程序加一个判断就可以了,不如你按字符的形式,判断ASCII就可以了
「已注销」 2011-05-02
  • 打赏
  • 举报
回复
根据ASCII判断,输入‘1’~'0'
followingturing 2011-05-01
  • 打赏
  • 举报
回复
没那么复杂。

通常我这么处理:
设一个临时输入变量,输入进去,如果符合条件,赋给真正的变量,否则,要求重新输入。
AnYidan 2011-05-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 tomatobin 的回复:]
比如我要输入一个int型的值,结果我输入了'x',怎么消除这个错误,重新输入int型的值 ,我知道在c++里面可以用cin.clear()来修改。。c里面不知道怎么搞了
[/Quote]

lz 是自己判断输入错了 --〉在程序中加一个“确认”判断;

如果要求程序自己判断--〉高人指点一下程序如何用 scanf 分辨你输入的是 34 还是 A
qq120848369 2011-05-01
  • 打赏
  • 举报
回复
void clearerr(FILE *fp);


《Unix环境高级编程》
tomatobin 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao4zhong1 的回复:]

仅供参考C/C++ code
#include <stdio.h>
#include <conio.h>
int i = 0;
char c;
void main() {
while (1) {
printf("\nPlease input a number:");
rewind(stdin);
if (2==scanf("%d%c",&……
[/Quote]

能不能解释一下呢,rewind是什么意思,scanf是返回输入的个数吧?
zhangyuehua123 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao4zhong1 的回复:]
仅供参考

C/C++ code
#include <stdio.h>
#include <conio.h>
int i = 0;
char c;
void main() {
while (1) {
printf("\nPlease input a number:");
rewind(stdin);
if (2==sca……
[/Quote]

++
赵4老师 2011-04-28
  • 打赏
  • 举报
回复
仅供参考
#include <stdio.h>
#include <conio.h>
int i = 0;
char c;
void main() {
while (1) {
printf("\nPlease input a number:");
rewind(stdin);
if (2==scanf("%d%c",&i,&c)) {
if ('\n'==c) {
printf("\nThe number is %d.\n", i);
break;
}
}
}
printf("Press any key to end ...");
getch();
}
//
//Please input a number:12a
//
//Please input a number:a
//
//Please input a number:12
//
//The number is 12.
//Press any key to end ...
xspace_time 2011-04-28
  • 打赏
  • 举报
回复
cin.clear()和fflush(stdin),清除缓存

应该意思一样,写法不一样吧,最多看下cin.clear的定义

结贴了
bdmh 2011-04-28
  • 打赏
  • 举报
回复
fflush(stdin),清除缓存
我真的是琦琦 2011-04-28
  • 打赏
  • 举报
回复
你不能把这个int型的重新赋值么~~~~~

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧