C语言 能不能解释一下 while和if两行 括号里面代码的含义?


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

int main()
{
   int y;
   while(scanf("%d",&y)!=EOF)
   {
       
       if((y%100!=0&&y%4==0)||y%400==0)
        printf("Yes\n");
       else
           printf("No\n");
   }
   return 0;
}

While添加是判断输入的值是否为非正常值。
按下Ctrl+Z,就表示EOF。
if中判断的是当前输入的y是否为闰年。
闰年判断条件:

while里面是读取输入并存入y
每次循环到while内就通过scanf读入一个整数用于判断
if里面是判断y是否是闰年
如果y可以被4整除且不被100整除(y%100!=0&&y%4==0),或者y能被400整除(y%400==0),则说明y对应的年份是闰年
有帮助望采纳~