当前位置: 首页 > news >正文

第7.6节:awk语言 break 语句

1 第7.6节:awk语言 break 语句

break 语句用于跳出包含它的最内层 forwhiledo 循环。以下示例用于找出任意整数的最小除数,同时识别质数:

# 找出 num 的最小除数
{num = $1for (divisor = 2; divisor * divisor <= num; divisor++) {if (num % divisor == 0)break}if (num % divisor == 0)printf "Smallest divisor of %d is %d\n", num, divisorelseprintf "%d is prime\n", num
}

当第一个 if 语句中余数为 0 时,awk 会立即跳出包含它的 for 循环。这意味着 awk 会直接执行循环之后的语句,继续处理。(这与 exit 语句截然不同,exit 语句会终止整个 awk 程序。

以下程序演示了 forwhile 语句的条件如何用 if 内部的 break 来替代:

# 找出 num 的最小除数
{num = $1for (divisor = 2; ; divisor++) {if (num % divisor == 0) {printf "Smallest divisor of %d is %d\n", num, divisorbreak}if (divisor * divisor > num) {printf "%d is prime\n", numbreak}}
}

break 语句也可用于跳出 switch 语句,在之前的章节中有所讨论。

break 语句在循环体或 switch 体之外使用时,没有实际意义。不过,尽管从未有过相关文档说明,但历史上的 awk 实现曾把循环外的 break 语句当作 next 语句处理。BWK awk 的最新版本不再允许这种用法,gawk 也是如此。


作者声明:本文用于记录和分享作者的学习心得,可能有部分文字或示例来自AI平台,如:豆包、DeepSeek(硅基流动)(注册链接)等,由于本人水平有限,难免存在表达错误,欢迎留言交流和指教!
Copyright © 2022~2025 All rights reserved.

http://www.dtcms.com/a/362277.html

相关文章:

  • 刷题日记0901
  • 动态代理设计模式
  • 从Redisson分布式锁看锁的设计思路
  • 自动化运维-ansible中的变量运用
  • LeetCode Hot 100 Python (61~70)
  • 芯片的可编程字
  • Ps画笔和橡皮擦工具
  • 分布式事务相关02
  • 国内服务器如何安装docker或者是1panel
  • 关闭页面强制清除所有循环定时器
  • Linux 进程间通信(IPC)
  • Android14 init.rc各个阶段的主要操作
  • authentication port-control auto 和 dot1x port-control auto
  • Shell 编程:正则表达式与文本处理器
  • 软考-操作系统-错题收集(1)进程P的页面变换
  • 分布式一致性算法相关
  • 【Audio】切换至静音或振动模式时媒体音自动置 0
  • 基于SpringBoot+MYSQL开发的师生成果管理系统
  • 解锁Git仓库瘦身秘籍,git-sizer真香警告
  • Next.js渲染模式:SSR、SSG与ISR揭秘
  • Python实现点云渲染可视化杂记(直接、彩虹渐变、柱状、饼状和T-SNE赋色)
  • The Algorithmic Foundations of Differential Privacy - 2
  • 8Lane V-by-One HS LVDS FMC Card
  • 【开题答辩全过程】以 智慧药店管理系统的实现与设计为例,包含答辩的问题和答案
  • 基于单片机智能空调/温度控制系统
  • GaussDB 集群故障cm_ctl: can‘t connect to cm_server
  • API安全厂商F5首发后量子加密方案,为企业后量子时代加固防线
  • Java中方法的参数传递
  • TFT屏幕:STM32硬件SPI+DMA+队列自动传输
  • 【无标题】训练、推理适用的数据类型