我有两个带有两组不同变量的for循环,其中我还重用了下一个循环中的一个变量。代码看起来大致如下:
func naive(z, x, y []uint32, n int) {
var i, j, k int
var A, B uint32
for i = 0; i < n; i++ {
B = 0
for j = 1; j <= i; j++ {
muladd(x[j], y[i - j], &A)
}
for k = 1; j < n; j++, k++ {
muladd(x[j], y[n - k], &B)
}
}
}
但是我在第二个for循环中收到错误消息。它说missing { after for clause
。任何想法如何解决?
答案 0 :(得分:1)
当你在最后一个循环中递增j和k时,不喜欢它
所以尝试将代码更改为
func naive(z, x, y []uint32, n int) {
var i, j, k int
var A, B uint32
for i = 0; i < n; i++ {
B = 0
for j = 1; j <= i; j++ {
muladd(x[j], y[i-j], &A)
}
for k = 1; j < n; j++ {
muladd(x[j], y[n-k], &B)
k++
}
}
}
注意我刚刚在循环中移动k++
语句的最后一个循环