2

while语句(内有实操)

 2 years ago
source link: https://blog.51cto.com/u_15740457/5611046
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

while语句(内有实操)

精选 原创

循环语句分为三种:

  • while循环
  • for循环
  • do while循环

while循环

while语句(内有实操)_while循环

若条件为真,就会一直死循环。-------------若if语句,条件为真,只执行一次(区别)

当条件为假时,才会跳出循环。

若while循环只包含一个语句,不需要大括号;当执行语句大于等于两条时,需要用大括号执行!

TIP:当你想要在循环语句中停止时,也用break,

总结:break在while循环中的作用(与for循环相同

while语句(内有实操)_单引号_02

continue的作用:终止循环中本次循环continue后面的代码,后面的代码不再执行,直接跳转到判断部分,看是否需要再次执行

while语句(内有实操)_输入缓冲区_03

continue实例:

while语句(内有实操)_单引号_04

--------------------打印结果:1 2 3 4

while语句(内有实操)_while循环_05

——————————打印结果:1 2 3 4 6 7 8 9 10

continue应用:若在1-10中不想打印5,可以用continue把5跳过去!

实操:输入并确认密码

while语句(内有实操)_while循环_06
while语句(内有实操)_while循环_07

与理想中效果相差甚远,WHY?

原因:因为在输入函数printf&scanf中,他们的工作原理是有接受数据的输入缓冲区。

在输入密码结束时,我们敲了回车键,此时回车键就相当与\n,此时输入缓冲区内有123456/n,而scanf把他想要的123456拿走后,输入缓冲区内就剩一个/n,正好被getchar拿到,因为不是Y,所以else打印放弃确认。

解决方法:

while语句(内有实操)_单引号_08

加一个getchar,把缓冲区内部的/n读取到,使缓冲区内空白即可。

TIP:为何需要ret定义,因为后面令变量等于Y,而函数不是变量,没有此功能。

注意:在输入字符时,需要添加    '     '单引号!单引号!单引号!

进阶版:

while语句(内有实操)_输入缓冲区_09

利用while循环,把输入缓冲区的内容全部读完。分号的意思是它是空语句,即不需要在循环里干什么事情,只要在循环变量里面不断的判断。

  • 收藏
  • 评论
  • 分享
  • 举报

上一篇:switch语句精讲


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK