两套代码输出的结果不一样,求解

来源:4-2 分支结构之简单if-else语句

weixin_慕田峪0377382

2021-09-16 07:53

#include <stdio.h>

int main()

{

    int year = 2014; 

    int a;

    a=year%4;

    if ("a!=0")

    {

        printf("%s\n", "今年是平年");

    }

    else

    {

        printf("%s\n", "今年是闰年");

    }

    return 0;

}这个输出是平年

#include <stdio.h>

int main()

{

    int year = 2014;

    int a;

    a = year%4;

        if ("a==0")

        {

            printf("%s\n", "今年是闰年");

        }

        else

        {

            printf("%s\n", "今年是平年");

        }

    return 0;

}

这个输出是闰年

小白不懂这是为啥啊?



写回答 关注

1回答

  • weixin_慕运维4345870
    2021-09-16 14:40:15

    你的那个if函数使用有点问题,应该是

    if(......)

    而不是

    if(".....")

    这个判定函数不需要加双引号的,会有漏洞,相当于判定都成立,即输出判定成立的结果,而不是else的判定失败的结果。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题