在C中如何使scanf一次仅读取一个字符

时间:2018-09-20 16:41:01

标签: c

我的问题是,当我要求用户给我一个数字时,用户一次可以写多个数字(16548、5484等),因此我的程序会保存这些输入,并在下次需要时保存这些输入要使用scanf,它将自动读取用户编写的下一个(在我的第一个示例中为“ 6”)。我不希望那样,我希望用户只能写一个字符,或者如果有一种方法可以删除那些多余的字符,以便它只能读取第一个字符,那也将为我解决问题。

1 个答案:

答案 0 :(得分:-1)

您可以尝试使用int或float值,结果将相同,应该四舍五入

    #include<stdio.h>
    #include<math.h>
    void main()
    {
        float v;
        printf("Enter a number : "); 
        scanf("%f",&v);
        while(1)
        {
            if(v<10.0)
            {
                printf("%.f",floor(v));
                break;
            }
            else
            {
                v = v / 10.0;
            }
        }


}