问答详情
源自:4-2 分支结构之简单if-else语句

if 语句我写对了但是不知道为什么对了,似乎和大家不一样

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

在这一句话中出现了三个逻辑运算符,虽然是我自己写的。但是不知道这三个逻辑运算符是怎么优先级。就是说这句话断句是怎么分的。是以逻辑非为界限 断句成两句话 分别计算 还是怎么搞。越想头越昏 而且我也不知道&&!这样连着写是对的吗?

提问者:慕容5401208 2020-07-15 16:35

个回答

  • qq_慕九州4422745
    2020-08-08 12:01:57

    同等级别运算是从左到右算的

    你这个有点问题,这语句理解都不通顺。三个条件符号达不到效果的

    你这是想表达两个条件呗,第一是年数被400整除,第二是不被1000整除。可以用这个

    #include <stdio.h>

    int main() 

    {

        int year = 2014; //今年是2014年


        if(year%4==0)//初步判断是否被4整除

        {

            if(year%1000!=0)

            {

                printf("今年是闰年");//第二步判断是否被1000整除

            }

        }

        else

        {

            printf("今年是平年");//这个else对应最上面那个if 即不被4整除就是平年    

        }

      return 0;

    }


  • 慕数据0285807
    2020-07-16 00:36:30

    &&或者的意思,只要你能让计算机认识就好了,这个是识别条件,不要想的太复杂!