scanf 后程序未 运行

Program not running after scanf

我是编程新手。我正在尝试进行分配,但代码在第一次输入 scanf 后没有执行任何操作。 (我在 VS 代码中编码,我必须再次 运行 程序才能得到结果。直到那时什么都没有发生。)我写了另一个简单的代码来检查代码是否有问题或者它是否是IDE 问题。在这里:

#include <stdio.h>

int main () {
    int a, b;

    printf("Enter an positive Integer :  ");
    scanf("%i ", &a);
    b = a%2;

    if (b == 0) {
        printf("The given number  is an Even Integer. \a\n ");
    } else { 
        printf("The given Integer is an Odd integer. \n");
    }

    return 0;
} 

输入后如果我输入字符数字然后按'Enter' 然后打印出结果。否则我必须 运行 打印结果的程序。

(我正在使用代码 运行ner )。

我提到了关于堆栈溢出的类似问题,并应用了一些解决方案,例如“删除 scanf 中的 \n”和 'leaving a space before the %i in scanf ',但没有任何效果。

非常感谢您的帮助。

去掉%i后面的space。具体来说,scanf("%i ", &a) 应该是 scanf("%i", &a)。这对我有用。

只需将 scanf ( "%i " , &a ) ; 替换为 scanf("%d",&a) 即可!有关更多说明,请参阅 Refer this Question