<分区>
在像这样的平方根函数(C 语言)中:
double squareRoot(double n) {
double i, precision = 0.00001;
for(i = 1; i*i <=n; ++i); //Integer part
for(--i; i*i < n; i += precision); //Fractional part
return i;
}
--i 部分(第 4 行)的作用是什么?
它工作正常,对于输入 24,它给出 4.898980。但是当这个 --i 被替换为 i 时,结果是 5.000000。此外,当使用 i-- 时,它会再次给出 4.898980。那么,这是否意味着 --i = i--?幕后发生了什么?
另外,我不明白为什么只有 i 在这里是不够的,因为我们已经完成了整数部分。我是新手。请帮忙?