小编Hop*_*ere的帖子

为什么if(++ x = ++ y)有效,if(x ++ = ++ y)不起作用?

当我执行这个程序时:

#include<iostream>
using namespace std;
int main(){
    int x=5,y=9;

    if(++x=y++){
        cout<<"Works "<<x;
    }
    else{
        cout<<"No";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,输出是:Works 9

但如果我执行:

  #include<iostream>
using namespace std;
int main(){
    int x=5,y=9;

    if(x++=y++){
        cout<<"Works "<<x;
    }
    else{
        cout<<"No";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它声明:在函数'int main()'中:6:11:错误:左值作为赋值的左操作数,如果(x ++ = y ++){

c++ operators

-3
推荐指数
1
解决办法
1520
查看次数

标签 统计

c++ ×1

operators ×1