首页 > 解决方案 > 代码的执行接受输入但不返回任何内容

问题描述

如何在此代码中获得输出?正如您在评论中看到的代码问题。这是用 C 写的。

/*To print prime numbers from n1 to n2 where n1 and n2 are input by user and n1<n2*/
    //please solve this code, i am stuck
    #include <stdio.h>
    #include <conio.h>
    void main()
    {
        int n1, n2, i, j;
        printf("Enter two numbers");
        scanf("%d\t%d\n", &n1, &n2);
        printf("The prime numbers in betwn %d and %d are:\n", n1, n2);
        for (i = n1; i <= n2; i++)
        {
            for (j = 2; j < i; j++)
            {
                if (i % 2 == 0)
                {
                    continue;
                }
            }
            if (i = j)
            {
                printf("%d\t", i);
            }
        }
        getch();
    }

标签: cvisual-studio-debugging

解决方案


scanf("%d\t%d\n", &n1, &n2);

问题似乎在这里。需要以与 scanf() 格式中指定的相同方式提供输入。为简单起见,我建议将其更改为以下内容:

scanf("%d %d", &n1, &n2);

另一件事:if (i = j),这应该是比较运算符而不是赋值。

由于您正在尝试打印某个范围内的素数,因此逻辑/方法似乎也不正确。


推荐阅读