当我从文件中读取时,我试图找到除以两个数字的余数。
输入文件如下所示:
3
1 2
100 200
10 40
预期产出:
1
100
10
我正在运行以下代码:
read T
for ((i=1;i<=$T; i++))
do
read A
read B
echo $((A % B))
done
但是,这会产生如下错误:
line 6: 1 2: syntax error in expression (error token is "2")
为什么这不适用于手头的问题?
答案 0 :(得分:1)
read A
read B
...将两个单独的行读入A
和B
。因此,您的A
和B
每个都是一个包含两个不同数字的字符串,因此尝试使用它们进行数学运算会失败。
语法错误是一个很大的提示:它试图使用1 2
- 您的第一行有两列 - 作为单个数字,但这不是用于数学表达式的有效数字。
如果你想读同一行的两列,那就是:
read A B