kizumi_header_banner_img

是先学算法,先刷题,还是先写日记呢?

加载中

文章导读

有关while (A && B)和while (B && A)的坑点


avatar
RonF02 2026年3月2日 55

如题,这俩玩意儿是不一样的。在寒假打牛客集训赛的时候被这玩意儿坑过一次,特此记录。

总而言之就是执行 while (A && B) 时会先执行A再判断B

例如

int i = 5, a[] = {1, 2, 3, 4, 5};

while (i < 5 && a[i] != 0) i ++ ; // 没问题
while (a[i] != 0 && i < 5) i ++ ; // 会访问到a[5]发生越界

对,就是这么简单的一回事,被坑到了。stl其他容器的pop啊top啊之类的也是一样的,一定要把!xx.empty()写在while循环的第一个!



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码
RonF02的博客

个人信息

avatar

24
文章
2
评论
1
用户