给出以下功能:
function process_pipes(text)
{
split(text,recs,"|");
for (field in recs){
printf ("|%s|\n", field)
}
}
如果输入为:0987654321 | 57300 |找不到错误帐号| GDUMARESQ | 0199 | 9 | N | 0 ||
为什么我得到下面的数字而不是文字?
|4| |5| |6| |7| |8| |9| |10| |1| |2| |3|
答案 0 :(得分:2)
因为
for ... in
为您提供键。使用
printf("|%s|\n",recs[field]);
获取值。
答案 1 :(得分:2)
split
在您的代码中创建一个数组recs
,recs[1]
== 0987654321等。
for (field in recs)
循环生成索引列表,而不是数组元素。
因此,您需要:
function process_pipes(text)
{
split(text,recs,"|");
for (field in recs){
printf ("|%s|\n", recs[field])
}
}