【基础练习】n1==0错在哪儿?

编程入门 行业动态 更新时间:2024-10-09 02:24:18

【基础练习】n1==0<a href=https://www.elefans.com/category/jswz/34/1763335.html style=错在哪儿?"/>

【基础练习】n1==0错在哪儿?

这个问题源于一道分解质因数的水题(codevs 1313)

我的源码中有一段是

int n,p;scanf("%d",&n);if (n&1==0){printf("%d",n/2);return 0;}
可是问题出现了 如果我们输入一个偶数 这个程序块根本不跑

这是一项很奇怪的事 因为快速幂非递归中 我们常用到if(n&1==1)这样的句子

LGA大婶,ZLC神犇纷纷表示无法解答 但鄙人在知乎上找到了答案

因为这时候我才恍然大悟:位运算优先级非常低 左右移甚至比加减运算优先级还低

没想到的原因 一个是P党时代不用考虑这个 直接and shr这样的 在一个是平时也不大注意 果然还是加括号吧 也能提高程序可读性

——明明如月,何时可掇?忧从中来,不可断绝。



更多推荐

【基础练习】n1==0错在哪儿?

本文发布于:2024-02-14 11:52:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763149.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:错在   基础

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!