最近在学习C语言.写了一点代码.感觉程序代码都是对的,编绎也通过了,然而结果却总不是正确的.找了老半天,忽然感觉pow()这个函数有点怪.是数学库里的一个函数.前面没加
#include <math.h>
把它加上去了.结果就OK了.
然后我就很奇怪
1.为什么没加#include <math.h>也能编绎通过?
2.没加#include <math.h>中为什么使用pow()也能得出一个值?
于是,我实验一下.
实验一:
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
输出结果:
285.000000
实验二:
#include <math.h>
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
输出结果:
100000.000000
正确结果.
为了防止是实验一的pow(10,5)不起作用,而只是变量z由于没有初始化,只是随机指向一个内存地址.于是我又做了一个实验,把z初始化.
实验三:
main()
{
double z=0.0;
z=pow(10,5);
printf("%lf/n",z);
}
输出结果:
285.000000
为了再确定实验三的结果,,我又把Turboc2关了再开起,再运行一下实验三.结果还是一样.
通过实验三,重新编绎,结果都是一样,都是一个固定值285.00