失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > “~i“在C语言的for循环中是什么意思

“~i“在C语言的for循环中是什么意思

时间:2023-02-24 13:51:10

相关推荐

“~i“在C语言的for循环中是什么意思

最近看y总的视频,在他的代码里经常出现~1,比如:

for (int i = h[u]; ~i; i=ne[i]) {dfs(e[i],depth+1);}

然后我就不解了,去百度了一通。百度说"~"在C语言里面是二进制取反的意思。

我还是有点不解,然后自己写代码测试了一下,得到以下结果:

~-1 = 0~0 = -1~1 = -2~2 = -3~15 = -16

有点补码内味了,对于十进制的数来说就是先价格负号,然后-1呗。那么上面那个for里面的~i就等价于i != -1了与下面的代码完全等价。

for (int i = h[u]; i != -1; i=ne[i]) {dfs(e[i],depth+1);}

如果觉得《“~i“在C语言的for循环中是什么意思》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。