为什么我的代码返回错误的值?

用户名

我是C语言的新手,我想弄清楚为什么我的代码返回错误的值。

int main()
{


    printf("Welcome to my number generator! \n");
    printf("What is the first number in the range? \n");
    int rng1 = scanf("%d", &rng1);
    printf("What is the second number in the range? \n");
    int rng2 = scanf("%d", &rng2);
    printf("What would increment would you like to go up in? \n");
    int inc = scanf("%d", &inc);

    do
        {
        printf("%d\n"rng1);
        rng1 += inc;
        }
    while(rng1 != rng2);
    }
    return 0;
    }

从此代码中,我期望第一个范围和第二个范围之间的数字列表以某个数字递增,但是我得到的值为1。我在做什么错呢?PS我试图对其进行“调试”,发现使用以下命令时:

if(isalpha(rng1));
    printf("I am a String...")
if(isdigit(rng1))
    printf("I am a Digit")

它返回“我是弦乐...”。

谢谢!

您已经为变量分配了输入值rng1rng2inc通过调用scanf和还scanf成功填充了参数列表的项数。因此,将的返回值分配scanf给这些变量是不正确的只需将返回值用作输入数量即可。您应该读取值1,因为您只希望读取一个值scanf此外,您还可以检查输入值,以检测输入的值是否有效。

除此之外,我想对您的代码进行一些修改。特别是do{...}while();由于!=操作员,您的循环可能会无限期地运行请在下面的代码中查看注释。

int main()
{
    /* Declare the variables and do not assign the return value of scanf */
    int rng1, rng2, inc;
    printf("Welcome to my number generator! \n");
    printf("What is the first number in the range? \n");
    /* repeat this check condition for each scanf, exit( EXIT_FAILURE ) requires #include <stdlib.h>*/

    if (1 != scanf("%d", &rng1)) {
        exit( EXIT_FAILURE );
    }
    printf("What is the second number in the range? \n");
    scanf("%d", &rng2);
    printf("What would increment would you like to go up in? \n");
    scanf("%d", &inc);

    do
    {
        printf("%d\n",rng1);
        rng1 += inc;
    }
    /* Use <= instead of != and think about the case for rng1 is 1 rng2 is 5 and inc is 3, can you detect the end of the loop by adding 3 to the starting point 1 ? */
    while(rng1 <= rng2);

    /* Remove the `}` here */
    return 0;
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IDA Python-为什么我的代码返回错误的ESP值?

来自分类Dev

为什么我的C中的sin计算代码返回错误的值?

来自分类Dev

为什么我的代码显示断言错误和值错误?

来自分类Dev

为什么我的代码会在几个阶段返回错误的键?

来自分类Dev

串联时为什么我的代码返回错误的总和?

来自分类Dev

为什么我的代码会得到错误的Webelements值输出?

来自分类Dev

为什么我的代码为变量给出错误的值?

来自分类Dev

为什么我的INDEX / MATCH函数返回错误的值?

来自分类Dev

为什么forkJoin从我的可观察对象返回错误的值?

来自分类Dev

为什么OrderModify()返回代码错误130?

来自分类Dev

为什么此代码返回的年份错误?

来自分类Dev

为什么我的PHP代码返回inf?

来自分类Dev

为什么此代码返回我6561?

来自分类Dev

为什么此代码返回我6561?

来自分类Dev

为什么我的代码总是返回1?

来自分类Dev

为什么此代码返回垃圾值?

来自分类Dev

为什么代码不能返回正确的值?

来自分类Dev

我的 Java 代码总是返回错误的值?

来自分类Dev

为什么我的JSOn代码错误?

来自分类Dev

为什么我的 Java 代码出现错误?

来自分类Dev

为什么我的代码显示错误的输出?

来自分类Dev

谁能告诉我为什么我的代码显示的pi值错误?

来自分类Dev

如何找出为什么我的Rails控制器返回500错误代码?

来自分类Dev

当@@ROWCOUNT=0 时,为什么我的代码没有返回错误消息?

来自分类Dev

为什么std :: max返回错误的值?

来自分类Dev

为什么Timespan减法返回错误值?

来自分类Dev

为什么总和返回错误值

来自分类Dev

为什么Timespan减法返回错误值?

来自分类Dev

为什么我的代码无法在Python Regex的返回值中起作用

Related 相关文章

  1. 1

    IDA Python-为什么我的代码返回错误的ESP值?

  2. 2

    为什么我的C中的sin计算代码返回错误的值?

  3. 3

    为什么我的代码显示断言错误和值错误?

  4. 4

    为什么我的代码会在几个阶段返回错误的键?

  5. 5

    串联时为什么我的代码返回错误的总和?

  6. 6

    为什么我的代码会得到错误的Webelements值输出?

  7. 7

    为什么我的代码为变量给出错误的值?

  8. 8

    为什么我的INDEX / MATCH函数返回错误的值?

  9. 9

    为什么forkJoin从我的可观察对象返回错误的值?

  10. 10

    为什么OrderModify()返回代码错误130?

  11. 11

    为什么此代码返回的年份错误?

  12. 12

    为什么我的PHP代码返回inf?

  13. 13

    为什么此代码返回我6561?

  14. 14

    为什么此代码返回我6561?

  15. 15

    为什么我的代码总是返回1?

  16. 16

    为什么此代码返回垃圾值?

  17. 17

    为什么代码不能返回正确的值?

  18. 18

    我的 Java 代码总是返回错误的值?

  19. 19

    为什么我的JSOn代码错误?

  20. 20

    为什么我的 Java 代码出现错误?

  21. 21

    为什么我的代码显示错误的输出?

  22. 22

    谁能告诉我为什么我的代码显示的pi值错误?

  23. 23

    如何找出为什么我的Rails控制器返回500错误代码?

  24. 24

    当@@ROWCOUNT=0 时,为什么我的代码没有返回错误消息?

  25. 25

    为什么std :: max返回错误的值?

  26. 26

    为什么Timespan减法返回错误值?

  27. 27

    为什么总和返回错误值

  28. 28

    为什么Timespan减法返回错误值?

  29. 29

    为什么我的代码无法在Python Regex的返回值中起作用

热门标签

归档