博客
关于我
awk杂谈之数组习题
阅读量:365 次
发布时间:2019-03-05

本文共 610 字,大约阅读时间需要 2 分钟。

问题分析

了解AWK语言中的数组操作是解决这个问题的关键。AWK没有真正的二维数组,所以我们只能通过一维数组模拟多维数组。这里使用SUBSEP来构造多维数组的索引。SUBSEP的默认值是"\034",这意味着当我们定义一个数组时,例如Arr[2,79],AWK会将其转换为一个字符串索引"2\03479"。

问题解答

为了让AWK程序输出78,我们需要正确地访问数组元素。以下是详细的解决步骤:

  • 理解AWK数组索引:AWK允许使用逗号分隔的多个数字作为索引,通过SUBSEP分隔符将其转换为字符串索引。例如,Arr[2,79]会被转换为"2\03479"。

  • 选择正确的访问方式

    • 选项Aprint Arr["2\03479"]。直接使用转换后的字符串索引访问数组元素,正确输出78。
    • 选项Bprint Arr[2,79]。打印一维数组的值,输出两个元素的值,而不是单独的78。
    • 选项Cidx=2 SUBSEP 79; print Arr[idx]。通过设置idx为"2\03479"后访问数组元素,正确输出78。
    • 选项Dprint Arr[ 2, 79]。虽然索引格式有空格,但仍然打印一维数组的值,而不是单独的78。
  • 结论:选项A和C是正确的,因为它们直接或间接地使用了正确的索引来访问数组元素。选项B和D错误地打印了数组的多个元素,而不是单独的78。

  • 最终答案

    选项A和C是正确答案,它们能够正确地输出78。

    转载地址:http://cpwwz.baihongyu.com/

    你可能感兴趣的文章
    Vue新建项目——页面初始化
    查看>>
    Cent OS 7.6 服务器软件安装(这篇博客主要是为了方便我配置云主机的)
    查看>>
    MySQL使用系列文章
    查看>>
    Node.js包使用系列(一)——修改NPM全局下载和缓存路径
    查看>>
    TDengine使用(一)——TDengine下载与安装
    查看>>
    ubuntu和windows之间无法复制粘贴
    查看>>
    力扣239. 滑动窗口最大值
    查看>>
    史上最全Vue的组件传值
    查看>>
    CSS position属性static/relative/absolute/fixed/sticky用法总结
    查看>>
    6.14编一个程序,将两个字符串s1和s2比较,不要用strcmp函数。
    查看>>
    如何解决vscode检测到#include错误,请更新includePath。
    查看>>
    1007 Maximum Subsequence Sum (25分) Python解法
    查看>>
    Java纯文本文件显示工具制作
    查看>>
    Unity2D Fixed Joint 2D详解
    查看>>
    Unity Shader之路(五)创建第一个顶点/片元着色器?
    查看>>
    L3-008 喊山 (30分) C++ BFS题解
    查看>>
    Web框架——Flask系列之Flask-SQLAlchemy数据库的基本操作(九)
    查看>>
    六、Numpy的使用(详解)
    查看>>
    三、案例:留言板 & url.parse()
    查看>>
    Python中的filter()函数!!!1
    查看>>