C语言scanf的%f, 实际输入的是字符,程序要如何判断它输入的是数字还是字符呢?

浮点型好像也没有asicc码,有个作业需要判断无效输入,想不出来。。例如scanf("%f",num);实际输入的是‘a‘,如何才能输出printf("Invalidin... 浮点型好像也没有asicc码,有个作业需要判断无效输入,想不出来。。
例如scanf("%f",num);
实际输入的是‘a‘,
如何才能输出printf("Invalid input");
求一段代码,谢谢
展开
 我来答
White_MouseYBZ
2017-03-25 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6505万
展开全部

如果在%f控制下输入非数字字符,则scanf认为数字输入已经完成,将非数字字符前面的输入按float类型赋给对应的变量;如果前面没有输入字符,那就返回一个错误信息EOF。

int main(int argc,char *argv[]){
    float x;
    if(scanf("%f",&x)!=1)
        printf("Invalid input\n");
    else
        printf("%f\n",x);
    return 0;
}
自己看图片。没有明白不能判断是什么意思!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式