关于c语言scanf函数输入错误格式的问题 50

代码如下:retry:printf("请选择您要执行的操作:");intinstruction;scanf("%d",&instruction);getchar();if... 代码如下:
retry:printf("请选择您要执行的操作:");
int instruction;
scanf("%d", &instruction);
getchar();
if(instruction不是0-4之间的数字){
printf("命令错误,重新输入“);
goto retry;
}
如果我输入了一个既有字母又有数字的字符串WAB1234,输出的是四个连着的”命令错误,重新输入 请选择您要执行的操作:“ 这是为什么,如何使得即使输入了字符串也只提示一次命令错误然后让你输入下一次操作?
展开
 我来答
假装的过客
2018-09-06 · TA获得超过578个赞
知道小有建树答主
回答量:1098
采纳率:65%
帮助的人:210万
展开全部
scanf函数输入完成需要一个回车,getchar接收的是一个字符。
要么就是你输入的内容放入字符串中然后逐个比较。
要么你可以getchar每一个字符,然后转化成ascii码,通过判定数值区间来判定输入的字符是否为数字。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式