本文共 610 字,大约阅读时间需要 2 分钟。
了解AWK语言中的数组操作是解决这个问题的关键。AWK没有真正的二维数组,所以我们只能通过一维数组模拟多维数组。这里使用SUBSEP来构造多维数组的索引。SUBSEP的默认值是"\034",这意味着当我们定义一个数组时,例如Arr[2,79],AWK会将其转换为一个字符串索引"2\03479"。
为了让AWK程序输出78,我们需要正确地访问数组元素。以下是详细的解决步骤:
理解AWK数组索引:AWK允许使用逗号分隔的多个数字作为索引,通过SUBSEP分隔符将其转换为字符串索引。例如,Arr[2,79]会被转换为"2\03479"。
选择正确的访问方式:
print Arr["2\03479"]
。直接使用转换后的字符串索引访问数组元素,正确输出78。print Arr[2,79]
。打印一维数组的值,输出两个元素的值,而不是单独的78。idx=2 SUBSEP 79; print Arr[idx]
。通过设置idx为"2\03479"后访问数组元素,正确输出78。print Arr[ 2, 79]
。虽然索引格式有空格,但仍然打印一维数组的值,而不是单独的78。结论:选项A和C是正确的,因为它们直接或间接地使用了正确的索引来访问数组元素。选项B和D错误地打印了数组的多个元素,而不是单独的78。
选项A和C是正确答案,它们能够正确地输出78。
转载地址:http://cpwwz.baihongyu.com/