面试题答案
一键面试#!/bin/bash
# 获取用户输入的整数
read -p "请输入一个整数: " num
# 定义关联数组
declare -A assoc_array
for ((i = 1; i <= num; i++)); do
assoc_array[$i]=$((i * i))
done
# 遍历并打印关联数组
for key in "${!assoc_array[@]}"; do
echo "键: $key, 值: ${assoc_array[$key]}"
done
# 关于作用域的说明
# 在函数外定义的关联数组,其作用域是整个脚本(全局变量)。
# 如果在函数内部修改这个关联数组,默认情况下会修改全局变量的值。
# 若想在函数内部创建一个局部的关联数组副本,可以在函数内部重新声明关联数组(declare -A local_assoc_array),这样对局部数组的修改不会影响到全局的关联数组。