我收到代码的这一部分的错误:
int R[] = {3, 4, 1, 2, 0, 5};
int L= dist (R(0),R(1)) + (R(1),R(2)) + (R(2),R(3)) + (R(3),R(4)) + (R(4),R(5));
我不知道如何解决这个错误。
应该使用[]
而不是()
访问数组项。
此外,您应该将函数dist
分别应用于每对项目:
int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]);
你也可以把它写在一个循环中:
int L = 0;
for (int i = 0; i < 5; i++)
L += dist(R[i], R[i+1]);
要访问单个数组元素,请使用[
和]
(而不是(
和)
)
int L = dist (R[0], R[1]) ...
您可能还想为其他对调用dist()
函数
dist(R[0], R[1]) + dist(R[1], R[2]) + ...
除了使用()
而不是[]
访问数组元素这一明显错误之外,您的代码还存在其他一些逻辑问题。表达式
dist (R[0],R[1]) + (R[1],R[2])
不会做你想做的事。它将评估dist (R(0),R(1))
并将其添加到R(2)
中。术语CCD_ 13对计算没有影响。这就是逗号运算符,
的工作原理。
你可能想要
int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]);
而不是
int L= dist(R[0],R[1]) + (R[1],R[2]) + (R[2],R[3]) + (R[3],R[4]) + (R[4],R[5]);
您可能会在5分钟后返回,询问为什么您的输出与您预期的不同。