美文网首页
必须知道的C语言知识细节:=和==区别

必须知道的C语言知识细节:=和==区别

作者: 哪有岁月静好 | 来源:发表于2020-07-24 19:04 被阅读0次

    今天有同学问我,C语言中的等号和数学中的等号区别。这个问题对初学者的确有一些迷惑,这里详细说明下。

    C语言中等号=表示赋值运算符,例如E1=E2,表示将E2的值存放到变量E1中,E1必须是可修改的左值,也就是变量。

    双等号==是逻辑判断运算符,表示相等,例如E1==E2,表示判断E1和E2的值是否相等,如果相等返回1,不相等返回0值。

    因此,双等号==才是数学中的等号,另外C语言中的不相等运算符号用 != 表示。

    注意两者不能混用,在if、while、for等语句中表示逻辑判断是,如果混用将导致程序运行结果不正确。例如:

    int a=1;
    int b=2;
    if(a==b)  // a==b表达式的结果是0,因为a和b不相等
    {
        // 该部分将不会执行
    }
    if(a=b)    // a=b表达式的结果是2,因此判断为真
    {
        // 该部分将被执行   
    }
    

    完整示例:

    #include <stdio.h>
    int main(void) {
      int a=1;
      int b=2;
      if(a==b) {
        // 该部分将不会执行
        printf("a==b的值是%d.\n", a==b);
      }
    
      if(a=b) {
        printf("a=b的值是%d.\n", a=b);
      }
      return 0;
    }
    

    运行结果:
    a=b的值是2.

    其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。



    相关文章

      网友评论

          本文标题:必须知道的C语言知识细节:=和==区别

          本文链接:https://www.haomeiwen.com/subject/dheslktx.html