首页 > 其他分享 >while 循环判断语句比循环操作多执行一遍

while 循环判断语句比循环操作多执行一遍

时间:2023-02-13 20:37:09浏览次数:43  
标签:语句 ++ 一遍 -- while 循环 执行


int i, b, k = 0;
for (i = 1; i <= 5; i++)
{
b = i % 2;
while (b-- >= 0)
{
printf("%d \t", b);
k++;
}
}
printf("%d,%d \n", k, b); // 8,-2

注意 b取余数 为0或1
0的时候while循环执行1次
1的时候k++的循环执行两次
1,2,3,4,5 三个1两个0
就是3个2次++
两个一次++
就是6+2=8
——————————————
b的值要注意
while循环中的表达式是要比循环的内容多执行一遍的
最后一遍发现表达式的结果不满足则终止循环,
所以 i = 5的时候 b=1进入while循环执行b-- >= 0
1-- >= 0 K++ 执行完一遍 这是 b = 0
while会在执行一遍条件判断 0-- >= 0
K++ 这是b = -1
然后 while会继续进行条件判断 再次执行 b-- >= 0
-1-- >= 0 结果为假停止while循环 此时b = -2
答案就是 k=8 b = -2


标签:语句,++,一遍,--,while,循环,执行
From: https://blog.51cto.com/u_15964288/6054685

相关文章

  • 关于shell中的while文本重定向问题
    #!/bin/bashcatvscode_tutor.txt|whilereadlinedoecho$line>hello.txtdone那么重定向第一次过后,就会跳出while循环。只会把vscode_tutor.txt的第一......
  • mysql查询语句case及时间操作
    1、获取系统当前时间戳SELECT unix_timestamp(now())*1000 --乘以1000,为了得到毫秒时间戳   2、时间戳转年月日SELECTFROM_UNIXTIME(1676280033000/1000,......
  • 任务队列与事件循环
    任务队列与事件循环JS是单线程,为了防止线程的阻塞,在代码执行时分为同步任务和异步任务。所有同步任务在主线程上执行,推入栈中执行,当执行栈为空时就回去去事件队列中执行异......
  • OutOfMemoryExceptions while remoting very large datasets
    TessFerrandezPrincipalSoftwareEngineeratMicrosoft.Solvingtheproblemsoftheworldwithadebugger,asprinkleofMLandabagofchipsTwitte......
  • 面试难题:Spring AOP循环依赖,如何解决?
    面试难题:SpringAOP循环依赖,如何解决?问:Spring如何解决循环依赖?答:Spring通过提前曝光机制,利用三级缓存解决循环依赖(这原理还是挺简单的,参考:三级缓存、图解循环依赖原......
  • mysql带条件的插入语句
    文章目录​​一、数据库表结构​​​​1、moduleRole(中间表)​​​​2、roleInfo表​​​​3、moduleInfo表​​​​二、带条件插入的代码如下:​​一、数据库表结构1、modu......
  • 两个单向循环链表的合并(带头结点)
    两个单向循环链表的合并(带头结点)问题引入:已知两个带头结点的单向循环链表,LA和LB分别是链表的头指针,LA=(a1,a2…am),LB=(b1,b2,…bm),编写算法,将LA和LB合并成一个单......
  • 顺序循环队列(只设尾指针和所含元素个数)
    问题引入:假设以一维数组elem[0…m-1]存储循环队列的元素,同时设变量rear和quelen分别指示循环队列中队尾元素的位置和队列中所含元素个数。(1)说明该队列特点(2)给出......
  • mysql使用sql语句查询数据库所有表注释已经表字段注释
    场景:1.要查询数据库"mammothcode"下所有表名以及表注释/*查询数据库‘mammothcode’所有表注释*/SELECTTABLE_NAME,TABLE_COMMENTFROMinformation_schema.TA......
  • RobotFramework基本语法----IF语句
    if语句通过runKeywords以达到语句块功能runkeywordif   '${type1}'=='1'and'${type2}'=='2'  runKeywords  shouldbetrue  '${status1}'=='enab......