如果用户按下Enter键而不输入数据,则ANSI C停止过程

奥斯卡奖

我的代码是这样的:

double p, r = 12.40;

while (r > 0) {
   printf("\nEnter a amount $: ");
   scanf("%lf", &p);
   if(p == NULL) { break; }
   r -= (p / 100);
}

break部分不起作用。while如果用户未输入任何金额就输入回车,我想退出循环。

菲利普·金卡德(Phillip Kinkade)

如果您希望在用户按下Enter键时退出循环,则scanf()可能直到用户输入一个值(称为阻塞)后才将控制权返回到循环中。

您可以fgets()使用,然后再将输入传递到scanf()的relative中,sscanf()以获取%lf double值。

正如@EdHeal指出的那样,scanf()具有需要检查的返回值。它会返回成功转换了多少东西,或者返回特殊值EOF,这意味着不再需要读取任何数据。此返回值sscanf()将使您知道用户是否输入了值。

因此,将它们放在一起:

int main ()
{
    double p, r = 1240;
    char line[120];

    while (r > 0) {
        printf("\nEnter a amount $: ");

        fgets(line, 120, stdin); 
        int scanned = sscanf(line, "%lf", &p);

        if(scanned==0 || scanned==EOF) break;

        r -= (p *100);
    }

    return 0;
}

有关更多信息fgets()以及每个参数的含义,请查看其手册页

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按下Enter键时停止获取用户输入(C语言)

来自分类Dev

通过按c中的特定键停止无限循环或过程

来自分类Dev

我的问题=直到用户按下“ enter”从c ++中的用户输入中取平均值

来自分类Dev

如何在不输入 C++ 中的单词的情况下只输入就停止 cin >> ?

来自分类Dev

识别用户按下C ++的用户键的程序

来自分类Dev

如果用户输入特定号码,则停止scanf循环(无效)C

来自分类Dev

如何在输入过程中停止Infinity显示

来自分类Dev

如何在输入过程中停止Infinity显示

来自分类Dev

在不停止错误的情况下运行SQL存储过程

来自分类Dev

C ++检测用户何时按下箭头键

来自分类Dev

按下Enter键时,返回false不会停止页面的重新加载

来自分类Dev

如何停止按下 Enter 键触发 HTML 表单上的提交按钮

来自分类Dev

如何防止用户按下ENTER键?

来自分类Dev

我如何允许用户将字符串输入到数组中,直到他们按Enter键而不输入任何文本?

来自分类Dev

在C#中按下“ Enter键”的自定义事件

来自分类Dev

在C#中按下“ Enter键”的自定义事件

来自分类Dev

按下Enter键时在Objective-C中执行代码?

来自分类Dev

首次按下Enter键时如何触发第一个onclick事件来停止元素

来自分类Dev

如果在处理过程中出现问题,请停止处理kafka消息

来自分类Dev

如何在不停止脚本的情况下终止 shell 脚本中的日志记录过程?

来自分类Dev

在遇到用户创建的错误后,如何以编程方式强制编译器停止编译过程?

来自分类Dev

按ENTER键会停止后台tshark进程吗?

来自分类Dev

如何在存储过程中使用sql查询停止重复数据?

来自分类Dev

在C程序中按空格键期间执行用户输入

来自分类Dev

C-按Enter键退出循环

来自分类Dev

如果按Enter键-显示消息。其他-正常输入

来自分类Dev

如果按Enter键-显示消息。其他-正常输入

来自分类Dev

重新父母停止过程

来自分类Dev

更换模具以停止过程

Related 相关文章

  1. 1

    按下Enter键时停止获取用户输入(C语言)

  2. 2

    通过按c中的特定键停止无限循环或过程

  3. 3

    我的问题=直到用户按下“ enter”从c ++中的用户输入中取平均值

  4. 4

    如何在不输入 C++ 中的单词的情况下只输入就停止 cin >> ?

  5. 5

    识别用户按下C ++的用户键的程序

  6. 6

    如果用户输入特定号码,则停止scanf循环(无效)C

  7. 7

    如何在输入过程中停止Infinity显示

  8. 8

    如何在输入过程中停止Infinity显示

  9. 9

    在不停止错误的情况下运行SQL存储过程

  10. 10

    C ++检测用户何时按下箭头键

  11. 11

    按下Enter键时,返回false不会停止页面的重新加载

  12. 12

    如何停止按下 Enter 键触发 HTML 表单上的提交按钮

  13. 13

    如何防止用户按下ENTER键?

  14. 14

    我如何允许用户将字符串输入到数组中,直到他们按Enter键而不输入任何文本?

  15. 15

    在C#中按下“ Enter键”的自定义事件

  16. 16

    在C#中按下“ Enter键”的自定义事件

  17. 17

    按下Enter键时在Objective-C中执行代码?

  18. 18

    首次按下Enter键时如何触发第一个onclick事件来停止元素

  19. 19

    如果在处理过程中出现问题,请停止处理kafka消息

  20. 20

    如何在不停止脚本的情况下终止 shell 脚本中的日志记录过程?

  21. 21

    在遇到用户创建的错误后,如何以编程方式强制编译器停止编译过程?

  22. 22

    按ENTER键会停止后台tshark进程吗?

  23. 23

    如何在存储过程中使用sql查询停止重复数据?

  24. 24

    在C程序中按空格键期间执行用户输入

  25. 25

    C-按Enter键退出循环

  26. 26

    如果按Enter键-显示消息。其他-正常输入

  27. 27

    如果按Enter键-显示消息。其他-正常输入

  28. 28

    重新父母停止过程

  29. 29

    更换模具以停止过程

热门标签

归档