else if (expression.contains("sin", Qt::CaseInsensitive)) { //正弦函数 QStringList list1 = expression.split("sin("); double a = list1[0].toDouble(); QStringList list2= list1[1].split("x)"); double b = list2[0].toDouble(); double c = list2[1].toDouble(); xValues.append(i); yValues.append(aqSin(bi)+c);在这段代码中expression是2sin(2x)+1,那么list2[1]是多少,使用list[1]会超越数组范围吗
时间: 2024-01-24 16:19:12 浏览: 22
在这段代码中,`list2[1]`应该是空字符串,因为字符串 "2sin(2x)+1" 中的最后一个括号是与第一个括号配对的右括号,后面没有多余的字符。因此,使用 `list2[1]` 不会超出数组范围,但它会得到一个空字符串,而不是您可能期望的常数项。如果您希望直接计算常数项,可以将其作为一个单独的项添加到表达式中,例如 "2sin(2x)+1+3",然后解析它并将常数项添加到 `c` 变量中,而不是从 `list2[1]` 中获取它。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)