hengji 发表于 2022-7-27 19:20:40

关于continue的用法问题(C语言教程中遇到)

请教下各位大佬,我理解的continue的用法是结束本次循环进入下一次循环,这个例程里已经用了括号把continue括起来了,我的理解是if语句的循环程序块只有continue这一行,下面的putchar不算在循环里面,所以continue并不能影响到putchar指令的执行。小甲鱼说的是可以影响,想问下各位大佬我这个地方的理解错在哪里,应该怎么理解,continue作用的语句块的界限应该如何确定呢?

jackz007 发表于 2022-7-27 19:54:01

本帖最后由 jackz007 于 2022-7-27 19:58 编辑

      这个代码打印键盘输入的任何字符,除了 'C'。
      当键入的字符不是 'C' 时,执行 if 语句块后面的 putchar(),是 'C' 时,执行 continue 语句,直接结束本次循环,于是,位于 if 语句块后面的 putchar() 语句就没有机会被执行了,键入的字符 'C' 也就没有机会被打印出来了。

hengji 发表于 2022-7-27 20:05:10

jackz007 发表于 2022-7-27 19:54
这个代码打印键盘输入的任何字符,除了 'C'。
      当键入的字符不是 'C' 时,执行 if 语句块 ...

可以理解成结束了这一次的while循环嘛?我之前理解的是结束if的语句块的在continue后面的部分,所以说continue只能够用来结束循环对嘛,如果说我在if执行的语句块里加很多句,中间用continue(外围没有while或者for的循环语句的话),这样continue有用处么

ba21 发表于 2022-7-27 20:07:27

感觉是你自己把问题复杂化了。要不就是基础不够。

1. 代码是一句一句执行
2. 遇continue 你便回到while继续下一次循环

jackz007 发表于 2022-7-27 20:12:43

本帖最后由 jackz007 于 2022-7-27 20:25 编辑

hengji 发表于 2022-7-27 20:05
可以理解成结束了这一次的while循环嘛?我之前理解的是结束if的语句块的在continue后面的部分,所以说con ...

      
         continue 语句和 if 语句一点关系都没有,在循环语句块内的任何地方,只要执行到 continue 语句,本次循环就会结束,不论 continue 语句的后面有再多语句(当然是在本循环语句块内)都不会执行任何一句!

hengji 发表于 2022-7-27 21:59:49

ba21 发表于 2022-7-27 20:07
感觉是你自己把问题复杂化了。要不就是基础不够。

1. 代码是一句一句执行


已经理解了,谢谢您的指点

hengji 发表于 2022-7-27 22:00:23

jackz007 发表于 2022-7-27 20:12
continue 语句和 if 语句一点关系都没有,在循环语句块内的任何地方,只要执行到 co ...

已经理解了,谢谢您
页: [1]
查看完整版本: 关于continue的用法问题(C语言教程中遇到)