今天有一个枚举的题目的代码是这样的:

重点在于maxXor这个函数的实现,枚举两个数字,其中maxr保存了最大值的 i 异或 j , 可是这个程序执行结果大大出乎意外-_-. 然后就把 i 异或 j 的结果临时保存在int,进行比较,程序正确的执行了。原来是被操作符优先级坑到了。位操作的优先级比比较操作符的优先级更低。

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <cstdlib>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
using namespace std;
/*
* Complete the function below.
*/
int maxXor(int l, int r) {
int maxr = -1;
for(int i = l;i <= r;i++) {
for(int j = i;j <= r;j++) {
if( i^j > maxr ) {
maxr = i^j;
}
}
}
return maxr;
} int main() {
int res;
int _l;
cin >> _l; int _r;
cin >> _r; res = maxXor(_l, _r);
cout << res; return 0;
}

被C语言操作符优先级坑了的更多相关文章

  1. C语言操作符优先级

    C语言操作符优先级 优先级 运算符 含    义 要求运算 对象的个数 结合方向 1 () [] -> . 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! 逻辑非运 ...

  2. C++ 语言操作符的优先级

    cppreference.com -> C++ 操作符优先级 C++ 操作符优先级        优先级     操作符 1 () [] -> .   ::         ! ~ ++ ...

  3. C语言操作符

    C语言操作符的分类: 算术操作符 逻辑运算符 位操作符     赋值操作符 单目操作符 关系操作符 条件操作符 逗号表达式 数组下标引用 函数调用 结构体成员使用 大体上,C语言的操作符具体就这么些, ...

  4. 一道c语言运算符优先级问题

    一道c语言运算符优先级问题 #include <iostream> using namespace std; int main() { char test[] = {"This ...

  5. C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

  6. C语言 运算符优先级和结合方向

    运算符优先级和结合方向 初级运算符( ).[ ].->..  高于  单目运算符  高于  算数运算符(先乘除后加减)  高于  关系运算符  高于  逻辑运算符(不包括!)  高于  条件运算 ...

  7. C语言运算符优先级总结

    一 写在开头1.1 本文内容本文内容为C语言中运算符优先级的总结.转载于:https://blog.csdn.net/huangblog/article/details/8271791,感谢原作者的付 ...

  8. C语言运算符优先级和ASCII表

    1. C语言运算符优先级及结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成 ...

  9. C++操作符优先级带来的错误

    在刷LeetCode题目:190. 颠倒二进制位:颠倒给定的 32 位无符号整数的二进制位时,可以利用左移和右移操作符来实现数字翻转: 错误解法: class Solution { public: u ...

随机推荐

  1. 环境变量PATH/cp命令/mv命令/文档查看cat/more/less/head/tail

    2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail which  rmdir 可以查到命令的路径 例如: ls 命令是 ...

  2. 手机端网页使用html5地理定位获取位置失败的解决办法

    网上有很多关于html5 geolocation 获取地理定位的方法,我试了下,只有在IE edge浏览器可以成功获取到,在chrome,firefox,手机端的safari,QQ浏览器,微信浏览器, ...

  3. MongoDB:通过mongodump【时间一致性】备份,快速创建secondary复制集节点——更精简的方式2

    该方式优点:快速通过mongodump初始化数据库,大大减少新的secondary节点从头开始初始化的风险:网络壅塞.oplog.rs过期.耗时太长等. 还原的关键:一致性mongodump备份 +  ...

  4. Mysql 大量数据导入

    今天试图用heidisql 导入一个150M的数据文件(.sql), 结果报out of memory 错误.在网上搜了很多案例,都没能解决问题.我甚至怀疑是mysql 的default的内存设置的太 ...

  5. Sublime的插件Color Highlighter的安装方法

    ColorHighlighter是一个显示选中颜色代码的视觉颜色的插件.如果您选择“# fff“,它将向您展示白色.ColorHighlighter支持所有CSS颜色格式,如Hex,RGB,HSL,H ...

  6. C#------如何深度克隆一个对象

    普通版: public static object CloneObject( object obj ) { using ( MemoryStream memStream = new MemoryStr ...

  7. APP图标制作以及替换步骤

    1 首先要有一张1024X1024像素以上的的大图片(长宽最好相等)   2 如果app图标需要的是圆角的,那先通过以下这个工具转换一下: http://www.360doc.com/content/ ...

  8. js中对象的深度复制

    // 对象的深度复制 cloneObj(oldObj) var cloneObj = function (obj) { var newObj = {}; if (obj instanceof Arra ...

  9. 使用HTML5监测网站性能

    在这个信息爆炸的互联网时代,越来越多的人缺少了等待的耐心,网站性能对于一个网站来说越来越重要.以下为监控到的网站打开时间对跳出率的影响: 当网站打开时间在0-1秒时,跳出率为12% 当网站打开时间在1 ...

  10. composer 更新指定包

    1)网上搜了大半天都不知道怎么更新 componser 包,update upgrade 命令根本不知道怎么用!! 2)其实用 require 命令就可以更新包(它会判断包存不存在,不存在就安装,存在 ...