在做作业时,我注意到一些非常奇怪的东西,我就是不知道为什么。
int x = 5;
cout << pow(x, 2);
结果是 25。没关系。但是,如果我像这样编写相同的程序:
int x = 5;
int y = pow(x, 2);
cout << y;
结果是24!
当 x 为 2, 3, 4, 6, 7, 8 时没问题,但对于 5, 10, 11, 13 等,结果比应有的低 1。
与 if() 相同。
for (int x = 1; x <= 20 ; x++) {
if (x * x == pow(x, 2))
cout << x << endl;
}
它打印出数字 1、2、3、4、6、8、12、16。