我怎么知道输入是带scanf的字符还是浮点数?

问题描述 投票:0回答:1

例如,如果我输入“ a”,我会尝试制作一个简单的计算器,没有任何错误,但是会上瘾,程序会有意外的反应。基本上,我的问题是输入字符时程序如何显示警告。也许scanf返回任何有用的值?

c scanf calculator
1个回答
0
投票

您可以简单地使用scanf提供的标志来扫描整数。

int main()
{
    int nb;

    if (scanf("%d", &v) != 1) {
        printf("Not a number !\n");
        return 1;
    }
    return 0;
}

scanf返回成功读取的标志的数目,因此,如果该数目不同于1(在此示例中),则意味着scanf无法将您的输入转换为整数。

© www.soinside.com 2019 - 2024. All rights reserved.