
C 语言的迷惑行为
有位同学的代码体现了c的性质,研究了一会儿,这里不得不发个朋友圈说一下了 现在有如下几个问题: 图中代码 i * i 改为 pow(i, 2) 时,程序正常输出,π更精确,但是当 pow(i, 2) 改为 i * i 时,程序正常输出,π不太精确。(使用 pow(i, 2) 无法正确实现题目效果) 为什么不修改图中代码,输出1.#INF00? 对于问题一: pow 内部是采用 double 类型计算数的平方,double数容纳范围更广,所以更精确。而 i * i 计算平方,只是进行int整数相乘,所以不如 pow 精确,还会导致溢出问题。 对于问题二: 1.#INF00 是无穷大的意思,一般是








