最近在学习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.000000.

然后,我把pow(10,5)中的参数该一下,再做实验

实验四:

main()
{
  double z=0.0;
  z=pow(10,4);
  printf("%lf/n",z);
}

输出结果:

285.000000

把第二个参数改成1,2,3,4.结果都一样.

不过,当我把参数改成浮点数时,如5.0突然结果变了

实验五:

main()
{
  double z=0.0;
  z=pow(10,5.0);
  printf("%lf/n",z);
}

输出结果:

33.000000

突然感觉是不是pow()的两个参数都必须是浮点数才能不用#include <math.h>就用算出正确结果,于是做了实验六

实验六:

main()
{
  double z=0.0;
  z=pow(10.0,5.0);
  printf("%lf/n",z);
}

输出结果:

255.000000

还是错误的结果.无语了...

突然想到是不是pow()有像JAVA一样有函数重载.定义不同的参数,就变成一个完全不一样的函数.于是上turboc2/include文件夹下去找math.h有关pow()的源代码.结果只发现函数的定义,没有源代码.上网查.结果说,pow()是用汇编来实现了...(不过,发现了一个好网站MSDN:http://msdn.microsoft.com/zh-cn/express/default.aspx以前只是听说但一直没使用,仔细看看,发现里面的内容都太NB了,全面)

  然后,我又在想是不是turboc2编绎器的本身问题.又上网查了一下,查不到...

C语言中的指数函数pow()问题相关推荐

  1. c语言指数pow,C语言中的指数函数pow()问题

    最近在学习C语言.写了一点代码.感觉程序代码都是对的,编绎也通过了,然而结果却总不是正确的.找了老半天,忽然感觉pow()这个函数有点怪.是数学库里的一个函数.前面没加 #include 把它加上去了 ...

  2. c语言 指数 2 n,c语言中指数函数中求2的N次方输出2^n中n为常数

    求C语言 编写程序 1的1次方加2的2次方加3的3次方--一直加到n的n次方. 程序如下:#include#includevoidmain(){inti,n,sum=0;scanf("%d& ...

  3. C语言中绝对实用的数学函数

    盘点C语言中常用的数学函数 在c语言的数学(math)函数库中,有很多不同的数学函数. 有幂函数(pow),绝对值函数(abs/fabs),取整函数(floor/ceil),平方根函数(sqrt),对 ...

  4. C语言中重要基础知识的概述

    本章主要对于C语言中的基础知识进行一个大致的描述,适合有C语言基础但长久没接触C语言开发的人员进行快速回忆.在总体回忆基础知识之前,先来创建一个C程序.笔者的编译器是visual stduio2013 ...

  5. go语言中处处可见的for循环

    package mainimport ("fmt""math" )type xPoint struct {name stringage int }// 结构体比 ...

  6. C语言中三块“难啃的硬骨头”

    来源 | 嵌入式ARM 整理/付斌,参考<程序员互动联盟> C语言在嵌入式学习中是必备的知识,审核大部分操作都要围绕C语言进行,而其中有三块"难啃的硬骨头"几乎是公认级 ...

  7. long在C语言中是非法字符吗,C程序设计实践——实验指导

    一.课程的总体目标和具体要求 总体目标: 利用C语言和程序设计方法编制程序,借助计算机解决问题的基本能力.(支撑毕业能力要求1)独立解决文本处理.数学上的一些问题,编写较规范化的代码.(支撑毕业能力要 ...

  8. c语言设置输出字符大小_C语言中常用的几个头文件及库函数

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来源:https://www.jb51.net/article/124594.htm 这 ...

  9. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)

    数据从不一样的角度能够用不一样的含义去解释它,如: 10,011,101 对上面这个数据,咱们有以下多种含义去解释它: 1)它是1个二进制数字,或者是1个十进制数字: 2)一段文本: 3)用 , 号分 ...

最新文章

  1. NC:中国药科郝海平和郑啸发现饮食-微生物互作缓解肠损伤
  2. c#调用cmd执行相关命令
  3. ibatis解决sql注入问题 .
  4. 91. Leetcode 62. 不同路径 (动态规划-路径规划)
  5. 字符串编辑距离的计算方法
  6. 深度学习的三种硬件方案:ASIC,FPGA,GPU;你更看好?
  7. 6、检查约束(CHECK)
  8. css3 选择器_CSS 3
  9. java properties读取缓存_Java读取Properties文件
  10. AOP日志-域对象创建与基本操作介绍
  11. mysql-gui怎么执行_MySQL 执行大量语句时的正确姿势? mysql *.sql ? 使用 GUI?
  12. 央广记者在自律联盟现场采访京都贷执行董事长
  13. 软硬兼备 学做CIO
  14. 【HDU - 5917】Instability(规律,结论,Ramsey定理,知识点,tricks)
  15. 141_Power Query之获取钉钉审批流自动刷新Power BI报告
  16. 2015 ACM/ICPC Asia Regional Changchun Online HDU - 5441 (离线+并查集)
  17. 数学智力题 武士数独题目_数学智力题九宫格
  18. sql插入不重复的数据
  19. C语言程序入门(零基础入门)
  20. 2021年实验中学高考成绩查询,2021年北京高中排名,高中高考成绩排名一览表

热门文章

  1. 二叉树(Binary Tree,BT)的概念和性质
  2. 高通平台RF配置流程
  3. 基于视觉导航机器人的快递分拣系统(开放源码附带论文和github仓库)
  4. 文件共享服务器onedrive,如何共享OneDrive文件和文件夹
  5. 知识图谱-知识抽取(三):非结构化数据【DeepDive:基于远程监督的“关系抽取”】【斯坦福开发的开源知识抽取系统,通过弱监督学习,从非结构化的文本中抽取结构化的关系数据 】
  6. android 9.0背光调节流程
  7. python处理微信消息导入excel_python+openpyxl读取excel写入到另一个excel
  8. 机器学习理论基础学习10--- 高斯混合模型GMM
  9. 案例-修改-回显数据
  10. 底层嵌入式之NOR FLASH编程