如何解释这个极简单的C现象我打这个int main(void) {if (0.1 * 0.1 == 0.01)printf("equal\n");return 0;}没有print任何东西但我打这个int main(void) {if (0.1 * 0.1 - 0.01

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 03:49:53
如何解释这个极简单的C现象我打这个int main(void) {if (0.1 * 0.1 == 0.01)printf(
xQJA}+՛^#ڶM A56cZ ZM VeϷh `ass'kqbIάX^q;ObW7TaBQG~))#`X=R$錗 ǙEd:@fV33wYy ǗlqyO3²( ġx;e[J(a-.akZ]K!6lpjwVk1;C=?ސ &vm+ 61uܶXuh>;Lq"E#&2 7 l-~al!w3CPU9|%|3_Sy

如何解释这个极简单的C现象我打这个int main(void) {if (0.1 * 0.1 == 0.01)printf("equal\n");return 0;}没有print任何东西但我打这个int main(void) {if (0.1 * 0.1 - 0.01
如何解释这个极简单的C现象
我打这个
int main(void) {
if (0.1 * 0.1 == 0.01)
printf("equal\n");
return 0;
}
没有print任何东西
但我打这个
int main(void) {
if (0.1 * 0.1 - 0.01

如何解释这个极简单的C现象我打这个int main(void) {if (0.1 * 0.1 == 0.01)printf("equal\n");return 0;}没有print任何东西但我打这个int main(void) {if (0.1 * 0.1 - 0.01
机器上浮点数的表示和计算都不是绝对精确的,
0.1 * 0.1 计算后的结果不见得恰恰和
0.01 的存储表示完全一致,
故产生那种结果,
而0.1 * 0.1 - 0.01