遇到此代码的确切含义的麻烦
for (int i = 0; i < 2; i++)
{
primes[4 - i] = primes[i];
}
我应该在执行代码后找到输出,我得到了一组值。但是不要理解代码背后的机制,不要理解我得到的值。
答案 0 :(得分:2)
如果primes
数组的长度为5个字符,则此循环正在形成回文。循环在i = 2
时停止,因此只有两次迭代:
primes[4] = primes[0]; // first iteration
primes[3] = primes[1]; // second iteration
例如,使用“ Hello ”一词,结果将为“ HeleH ”。如果数组长度超过5个字符/对象,它将复制第一个位于第五个位置,第二个位于第三个位置(回文仅为特定情况)。
当然,如果primes
的长度小于5,则会失败,因为没有primes[4]
答案 1 :(得分:0)
该循环等同于:
primes[4] = primes[0];
primes[3] = primes[1];