警示后人判断情况写法
查看原帖
警示后人判断情况写法
891956
TempestMiku楼主2023/6/14 18:50

不能这样写 🤣🤡

inline bool check2(int shang,int xia){
    int a=(xia<<1),b=(xia>>1);
    if((a||b||xia)&shang!=0){
        return false;
    }
    return true;
}

因为先判断(a∣∣b∣∣xia)(a||b||xia)为11或00然后再&上shangshang得出错误的答案

正确写法:🥵

inline bool check2(int shang,int xia){
    if(shang&xia) return false;
    if(shang&(xia<<1)) return false;
    if(shang&(xia>>1)) return false;
    return true;
}

2023/6/14 18:50
加载中...