gpt4 book ai didi

arrays - 循环内数组元素的乘法

转载 作者:太空宇宙 更新时间:2023-11-04 09:40:54 24 4
gpt4 key购买 nike

这就是问题所在:我有这个对元素数组求和的循环,它有效:

for ((i=0: i<$n; i++));
do
ris=$(($ris+${array[$i]}))
done

现在我想做同样的事情,但使用 * 运算符代替 + 以获得数组元素之间的倍增:

for ((i=0: i<$n; i++));
do
ris=$(($ris*${array[$i]}))
done

但在这种情况下我得到这个错误:

syntax error in expression (error token is "*3")

问题出在哪里?

最佳答案

在你的第一次迭代中,ris 是空的,但是

ris=$(($ris+${array[$i]}))

扩展为

ris=$((+${array[$i]}))

什么仍然有效。* 运算符不会发生这种情况,因此您应该将 $ris 初始化为 1(显然不是 0)

ris=$((*${array[$i]})) 

关于arrays - 循环内数组元素的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com