C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

5.8.4 在一个逻辑条件语句中常数项永远在左侧

请看下面一段代码。

    int x = 4;
    if ( x = 1 ) {
          x = x + 2;
          printf("%d", x);    //输出值为
    }
    int x = 4;
    if ( 1 = x ) {
          x = x + 2;
          printf("%d", x);    //编译错误
    }

“=”是赋值运算符。b=1设置变量b等于1。“==”为相等运算符。如果左侧等于右侧,则返回true,否则返回false。很多初学者使用“=”赋值运算符替代“==”相等运算符,其实这是一个常见的输入错误。如果将常数项放在左侧,则将产生一个编译时错误。