鱼C论坛

 找回密码
 立即注册
查看: 2528|回复: 15

C循环疑惑

[复制链接]
发表于 2019-10-22 16:41:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这道题计算过程是怎么计算的啊?那位前辈可以给我讲解一下?
B612Kaji_20191022_164018_480.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-22 18:04:40 | 显示全部楼层
?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-22 18:10:40 | 显示全部楼层

为什么这道题会选B啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 18:16:17 | 显示全部楼层
李龙江 发表于 2019-10-22 18:10
为什么这道题会选B啊?

难道不是你选的?我不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 18:27:31 | 显示全部楼层
最后那个a=3;??看不清
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 18:57:20 | 显示全部楼层
本帖最后由 superbe 于 2019-10-22 20:30 编辑

初始值a==1, b==1
第一次循环后:a==6, b==2    (循环中执行了if(a%2==1){...}中的代码使a+5)
第二次循环后:a==3, b==3    (循环中执行了a=3)    换成 a -= 3结果是一样的, 6 - 3还是使 a 变成3。
第三次循环后:a==8, b==4    (循环中执行了if(a%2==1){...}中的代码使a+5)
第四次循环:满足a>=8退出

b是在循环体结束后下次循环体开始前自增1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-10-22 19:33:47 | 显示全部楼层
zwh1481017739 发表于 2019-10-22 18:27
最后那个a=3;??看不清

a-=3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 21:51:46 | 显示全部楼层
来,先和我一起治疗颈椎病
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 13:40:10 | 显示全部楼层
其实题目都不要细看,     猜都猜的到 问题出在b++      b++  是先走流程 再计算.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 13:42:57 | 显示全部楼层
就来看看c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 15:18:59 | 显示全部楼层
这道题打印的变量是b。
首先看初始值,a=1,b=1。a小于8,所以不执行break语句;然后判断a%2是否等于1,此时条件成立,则执行a=a+5;此时a=6;continue结束本次循环,执行b++;
第二次进入循环,此时a=6,b=2;a小于8,所以不执行break;然后判断a%2是否等于1,条件不成立,则执行a=a-3;此时a=3;b++;
第三次进入循环,此时a=3,b=3;a小于8,所以不执行break;然后判断a%2是否等于1,条件成立,则a=a+5;此时a=8;continue结束本次循环,执行b++;
第四次进入循环,此时a=8,b=4;a大于等于8,执行break;
最后执行printf语句打印b的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-10-23 21:50:58 | 显示全部楼层
李龙江 发表于 2019-10-22 18:10
为什么这道题会选B啊?

你想选什么呢?
在b=4的时候,因为a=8了,所以直接被break了,没法继续执行b++了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 18:22:59 | 显示全部楼层
所以不选B选什么呢……
用PYTHON写的
这道题也没有文字游戏之类的啊……
  1. def main():
  2.         a=1
  3.         for  b in range(1,10+1):
  4.                 if a>=8:
  5.                         break
  6.                 if a%2==1:
  7.                         a+=5
  8.                         continue
  9.                 a-=3
  10.         print(b)#4
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 20:55:20 | 显示全部楼层
看的脖子疼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-7 22:16:15 From FishC Mobile | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-16 09:46:16 | 显示全部楼层
把代码运行一次就知道结果了
然后要是不懂的话就设置断点,慢慢调试!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 15:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表