2013-11-24 52 views

回答

1

尝试其他方式:i += 4。这是i = i + 4的简写。现在你写了4 += i这意味着4 = 4 + i - 这当然没有意义。

+0

是的。人们似乎有+ =的麻烦,大概是因为老师不好解释。 将x + = 1想象为调用x上的+ =方法。 x。+ =方法将其参数的值添加到x。因此,x + = 1表示x.add_on(1),或者“取x,并将值1添加到其上”。 – 2013-11-24 11:09:33

1

试试:

为(I = 0,J = N-1;我<焦耳; I + = 4,J = = 4)

的语法是背面的前方,所有你所要做的就是翻转4 + = i至i + = 4,和4 = j的给J- = 4

+0

但是,++ i与i ++ – user2399087

+0

@ user2399087不同:仅在特定上下文中。对于你的循环计数器使用,它们实际上是相同的。 – usr2564301

0

而是写的:

for (i = 0, j = N-1; i < j; 4+=i , 4-=j)

这样写:

for (i = 0, j = N-1; i < j; i+=4 , j-=4)

当你有以下代码:

i += 5;

这基本上意味着作为相同:

i = i + 5;

并且因此5 + =我将意味着同一作为:

5 = 5 + i;

这显然不会让anny有道理,因为5不是一个变量,因此你不能存储一个值。

0

它只是语法糖。只写j=j-4

0

试试这个:

for (i=0,j=N-1;i<j;i+=4,j-=4)

或(更容易理解第一时间)

for (i=0,j=N-1;i<j;i=i+4,j=j-4)

相反的:

for (i = 0, j = N-1; i < j; 4+=i , 4-=j)

这将尝试分配到4中的值4 + I(4 = 4 + i)和后,同样的(4 = 4-J):

[错误]需要作为分配

的左操作数的左值