【博客36】使用 ">>" 来代替 "/" 时要小心!

内容: 记录下今天在刷leetcode的时候,不小心犯了一个低级错误,一开始还没看出来错在哪里。

题目:

在这里插入图片描述
一开始二分解法:
在这里插入图片描述
然后看了下,把 “/” 改成 “>>” 应该会快一点,然后改成如下代码:在这里插入图片描述
结果:运行出错。一开始没注意到运算符优先级问题,以为是移位时出现的问题,想想不对,没有问题啊,一翻了下,发现原来是运算符优先级的问题。这里变成left+(right-left)先运算,然后整体右移,因此出错。

正确修改后如下:此时结果正确。
在这里插入图片描述
反思: 在使用混合运算时,除非你有把握记得运算符优先级,否则的话,使用()来指定运算顺序应该是个不错的选择,既能够方便别人理解你的代码,也能够保证结果的正确性。比如:*p++这种就比如容易混淆。

大三学生一枚,文章均非抄袭或者模仿,均为原创,仅代表个人观点,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。

猜你喜欢

转载自blog.csdn.net/qq_43684922/article/details/89644702