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

浮点型好像也没有asicc码,有个作业需要判断无效输入,想不出来。。
例如scanf("%f",num);
实际输入的是‘a‘,
如何才能输出printf("Invalid input");
求一段代码,谢谢

如果在%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;
}
自己看图片。没有明白不能判断是什么意思!

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网