为什么我在C语言中的Year年代码无法正常工作?

时间:2018-12-23 07:46:43

标签: c

输入一年后,程序将无法执行

我将等待这个程序的刺激。但是id不会执行。 当我按Enter键时,它包含换行符,但不起作用。

#include<stdio.h>
#include<math.h>

int main(){

    int year;
    scanf("%d\n",&year);

    if(year%400==0||(year%100==0&&year%4==0))

        printf("%d is Leap Year",year);

    else
        printf("%d Not Leap Year",year);

    return 0;
}

样本: Sample

1 个答案:

答案 0 :(得分:1)

tf.group的意思是:读取可选的空格(任意数量),后跟一个整数(scanf("%d\n",&year);),然后是任意数量的空格(%d)。

因此,在键入\n之后,该函数将消耗这3个字符,并且在第一个空白读数中仍“卡住”。

然后键入[SPACE][TAB][ENTER],该函数将使用这7个字符,将2000分配给[SPACE][TAB]2000[ENTER],并在第二个空白读数中“卡住”。
再输入几个year,它仍然“卡住”。

最后,键入[SPACE][TAB][ENTER],以使函数消耗最后一个空间,直到到达“ Z”为止(与[SPACE]"Z"[ENTER]一起)保持在输入缓冲区中未使用。