为什么scanf从一开始就要求输入?

空白QQ

我有一个非常简单的程序,可以简单地要求重量并将其转换为铂金的价值。我是C语言的新手,所以错误可能在任何地方。但是当我使用scanf时,它从一开始就要求输入,而不是遵循代码序列:

代码:

 #include <stdio.h>
 int main(void)
 {
     float weight;
     float value;

     printf("Are you worth your weight in platinum?\n");
     printf("Let's check it out.\n");
     printf("Please enter your weight in pounds: ");
     scanf("%f", &weight);
     printf("%.2f\n", weight);
     value = 1700.0 * weight * 14.5833;
     printf("Your weight in platinum is worth $%.2f.\n", value);
     printf("You are easily worth that! If platinum prices drop,\n");
     printf("eat more to maintain your value.\n");

     return 0;

 }

输出:

123
Are you worth your weight in platinum?
Let's check it out.
Please enter your weight in pounds: 123.00
Your weight in platinum is worth $3049368.00.
You are easily worth that! If platinum prices drop,
eat more to maintain your value.

如果您在输出中注意到,用户必须在打印第一行之前输入输入。为什么是这样?

约翰·普雷兹

我尝试了您的程序,它按您的需要运行。您可以stdout在扫描输入之前尝试刷新缓冲区。

fflush(stdout); // right before your scanf line.

操作系统可以自由地推迟写输出缓冲区以提高效率。因此,例如,您以块而不是一次一个字符的形式写入磁盘。fflush强制写入缓冲区。它是C ++中的“ endl”,而fflush是直接的c版本。我不确定这就是您所看到的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么代码一开始会打印0

来自分类Dev

为什么一开始的包络曲线是错误的?

来自分类Dev

TensorFlow CNN:为什么验证损失从一开始就明显不同并且一直在增加?

来自分类Dev

如果从一开始就存在值,则ng-model不适用于输入

来自分类Dev

如何从一开始就在jquery中重复单击事件,好像什么也没发生

来自分类Dev

如何从一开始就启动vim?

来自分类Dev

组织结构图从一开始就崩溃了

来自分类Dev

从一开始的Objective-C启动循环

来自分类Dev

枚举每个组中从一开始的行

来自分类Dev

数组从一开始就不为空

来自分类Dev

点击提交后,网站从一开始就刷新

来自分类Dev

从一开始的Objective-C启动循环

来自分类Dev

从一开始就存在安装问题

来自分类Dev

从一开始就阅读所有消息

来自分类Dev

Xamarin 从一开始就形成许多错误

来自分类Dev

为什么当val_loss从一开始就增加时,我的val_accuracy停滞在0.0000e + 00?

来自分类Dev

如果我的应用程序从一开始就可以运行在较低级别,为什么还要使用chroot进行沙箱安全保护?

来自分类Dev

为什么无效的表格一开始是有效的,而之后又变成无效?

来自分类Dev

为什么我一开始就变得很空字符串

来自分类Dev

为什么多行字符串一开始会跳过预期的空格?

来自分类Dev

为什么在makefile的末尾使用+ =不能工作,但是一开始可以使用?

来自分类Dev

为什么我的心跳过程一开始就死了?

来自分类Dev

为什么有人会改变列两次,使其一开始就保留?

来自分类Dev

为什么我的数据库列表一开始不显示,而是单击后才显示?

来自分类Dev

为什么我的神经网络序列模型一开始就达到了 0.9998 的准确度?

来自分类Dev

将数据从一个活动发送到另一开始活动

来自分类Dev

Logstash一开始就崩溃

来自分类Dev

日历从星期一开始

来自分类Dev

Excel 2010区域图从一开始就下降

Related 相关文章

  1. 1

    为什么代码一开始会打印0

  2. 2

    为什么一开始的包络曲线是错误的?

  3. 3

    TensorFlow CNN:为什么验证损失从一开始就明显不同并且一直在增加?

  4. 4

    如果从一开始就存在值,则ng-model不适用于输入

  5. 5

    如何从一开始就在jquery中重复单击事件,好像什么也没发生

  6. 6

    如何从一开始就启动vim?

  7. 7

    组织结构图从一开始就崩溃了

  8. 8

    从一开始的Objective-C启动循环

  9. 9

    枚举每个组中从一开始的行

  10. 10

    数组从一开始就不为空

  11. 11

    点击提交后,网站从一开始就刷新

  12. 12

    从一开始的Objective-C启动循环

  13. 13

    从一开始就存在安装问题

  14. 14

    从一开始就阅读所有消息

  15. 15

    Xamarin 从一开始就形成许多错误

  16. 16

    为什么当val_loss从一开始就增加时,我的val_accuracy停滞在0.0000e + 00?

  17. 17

    如果我的应用程序从一开始就可以运行在较低级别,为什么还要使用chroot进行沙箱安全保护?

  18. 18

    为什么无效的表格一开始是有效的,而之后又变成无效?

  19. 19

    为什么我一开始就变得很空字符串

  20. 20

    为什么多行字符串一开始会跳过预期的空格?

  21. 21

    为什么在makefile的末尾使用+ =不能工作,但是一开始可以使用?

  22. 22

    为什么我的心跳过程一开始就死了?

  23. 23

    为什么有人会改变列两次,使其一开始就保留?

  24. 24

    为什么我的数据库列表一开始不显示,而是单击后才显示?

  25. 25

    为什么我的神经网络序列模型一开始就达到了 0.9998 的准确度?

  26. 26

    将数据从一个活动发送到另一开始活动

  27. 27

    Logstash一开始就崩溃

  28. 28

    日历从星期一开始

  29. 29

    Excel 2010区域图从一开始就下降

热门标签

归档