c – 反复移动“x << = 1”后,值是否为0?
发布时间:2020-12-16 05:19:36 所属栏目:百科 来源:网络整理
导读:我想知道x在以下程序中是否达到零. 请考虑: int main (){ int x = 1; while (x) { x = 1; } return 0;} 该程序的预期行为是否正常退出或永久循环? 解决方法 既不是(或两者),当x溢出时,它以未定义的行为运行. C99规格6.5.7节说: The result of E1 E2 is E1
我想知道x在以下程序中是否达到零.
请考虑: int main () { int x = 1; while (x) { x <<= 1; } return 0; } 该程序的预期行为是否正常退出或永久循环? 解决方法
既不是(或两者),当x溢出时,它以未定义的行为运行.
C99规格6.5.7节说:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |