“~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循环中是什么意思相关推荐
- 小解的C语言笔记:循环中的取余操作 0%0
循环中的取余操作 0%0 题目 总结 题目 p 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整数的每一位输出出来. 如输入1234,则输出: yi er sa ...
- 关于R语言在for循环中保存图片失败的问题
发布于2021年10月25日 今天下午使用R语言的for循环,对多组数据分析并保存结果图片时遇到一个问题,保存的图片文件无法打开,大小也不对. 看到网上有个解决方法 png(file="GO ...
- C语言如何收集循环中的数,子数涵数·C语言——循环语句
之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include 2 int main(void) 3 { 4 i ...
- c语言循环中按键跳出,C语言跳出循环
C语言跳出循环 C语言在程序员中备受青睐,成为最近25年使用最为广泛的编程语言.那么大家知道C语言跳出循环是怎么回事呢?下面一起来看看! 使用while或for循环时,如果想提前结束循环(在不满足结束 ...
- C语言之(有关%d和%u的有关内容,输出方法)(有符号和无符号在内存中的存储情况)(整形无符号数和有符号数是如何进行计算的,整形无符号数和有符号数在循环中的应用举例)
在C语言的课本中,我们常见的是%u,但我们平时在写代码常用的确是%d,它们二者之间有什么区别呢? 表示形式上 %u表示输入输出格式说明符,是按照unsigned int(无符号十进制数据)格式输入或输 ...
- c语言中什么语句的作用是结束本次循环,用C语言结束这个循环的语句是什么
用C语言结束这个循环的句子是"继续".control语句continue只能作用于循环体,它的作用是结束这个循环,跳转到判断循环的位置,即重启下一个循环. 本教程操作环境:wind ...
- c语言for循环加法,BigDecimal 在for循环中相加注意事项
public static void main(String[] args) { BigDecimal bigDecimal = new BigDecimal(1); for (int i = 0; ...
- go语言for循环中修改临时变量无效
总结 1. for循环中,遍历变量是临时变量,修改不影响原始变量 2. for循环中如果想修改原始变量,可以直接修改原始变量本身才行 实验如下图 代码如下 package main import &q ...
- c语言二重循环的盒图怎么画,全国计算机二级C语言程序设计讲义 循环嵌套.ppt...
全国计算机二级C语言程序设计讲义 循环嵌套 第7讲 循环的嵌套 一.continue 语句和 break 语句 1.continue语句 2.break语句 二.循环的嵌套 三.goto语句 葛挑破隶 ...
- c语言零基础快速入门,C语言几种循环结构—零基础小白快速入门必学
循环语句是用于重复执行某条语句(循环体)的语句,它包含一个控制表达式,每循环执行一次都要对控制表达式进行判断,如果表达式为真,则继续执行循环.C语言提供了3中循环语句,分别为while语句,do wh ...
最新文章
- 基于Android5.0的Camera Framework源码分析 (三)
- virtualenvvirtualenvwrapper on WindowsUbuntu
- 032_jdbc-mysql批量操作
- android 一个有漂亮动画效果的Dialog
- jQuery 时间控件推荐(1)
- 看AppStore评价
- 如何使用ABAP把数字转换成单词
- labuladong 的算法小抄_来自GitHub 68.8k star的硬核算法教程
- (转) 淘淘商城系列——Redis集群的搭建
- 编译安装RRDtool报错
- 修改mysql_MySQL UPDATE:修改数据(更新数据)
- html播放器滚动字幕,HTML 滚动字幕
- 面对互联网寒冬,程序员能够做什么?
- Oracle EBS使用adpatch工具打patch过程【Z】
- 考点图文详解 - 网络管理(第十一章)
- linux pcf8563开发文档,linux下的i2c与时钟芯片pcf8563通信
- 美国ZIPnbsp;Codenbsp;一览表
- bert中文情感分析二分类任务详解
- @PersistenceContext 注解在spring中代理
- layui单选框verify_layui lay-verify form表单自定义验证规则详解