【问题标题】:Printing answer of two doubles gives the answer 0.00 [closed]打印两个双打的答案给出答案 0.00 [关闭]
【发布时间】:2017-02-26 04:24:37
【问题描述】:

我正在尝试添加两个双打并打印出数字的值。我是 C 编程新手,我确信这是一个我没有看到的简单错误。代码如下:

 while(count < 2){
    scanf("Enter the letter for the operation. %c", &entered);

    get = getchar();

     if(get == 'a'){
        printf("Please enter two numbers \n");
        scanf("%f %f", &num1, &num2);

        answer = num1 + num2;

        printf("Answer = %.2f", answer);
        count++;
    }

我得到了这个字符,如果用户输入了一个它会做加法。

我得到的输出是: '

请输入两个数字

2

3

答案 = 0.00

【问题讨论】:

  • 您认为scanf 中的“输入操作的字母。” 有什么作用?你能看到它显示在屏幕上吗?

标签: c printing while-loop


【解决方案1】:

我完全忽略了我应该在我的 scanf 语句中为 double 类型使用 %lf 而不仅仅是 %f。

【讨论】:

  • 请阅读如何为您的问题实际生成mcve
【解决方案2】:

首先,确保检查scanf的返回。

其次,确保在格式字符串的开头添加一个空格;这告诉scanf 在查找浮点数时跳过任何空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2023-01-29
    • 1970-01-01
    相关资源
    最近更新 更多