妈蛋这个坑了我大半个小时都想不出个原因。。后来看到pow的定义才想起,数据类型很重要啊。。


1.底数用常量,指数用整型

 #include <stdio.h>
#include <math.h>
int main()
{
int i,j;
for(i=;i<;i++)
{
j=pow(,i);
printf("%d\n",j);
}
return ;
}

运行结果:

1
10
99
1000
9999
100000
1000000
9999999
99999999

答案不是1000下去而是出现了9999999,一开始百撕不得其姐。。

看到定义后改用如下

2.底数用常量,指数用double

 #include <stdio.h>
#include <math.h>
int main()
{
double i,j;
for(i=;i<;i++)
{
j=pow(,i);
printf("%.0lf\n",j);
}
return ;
}

运行结果:

1
10
100
1000
10000
100000
1000000
10000000
100000000

改用double就没事了

那么指数用常量呢

3.底数用常量,指数用常量

 #include <stdio.h>
#include <math.h>
int main()
{
double i;
i=pow(,);printf("%.0lf\n",i);
i=pow(,);printf("%.0lf\n",i);
return ;
}

运行结果:

1000
10000

可见,指数用常量也是没问题的


经过n次测试,原因找出来了

再看另一组数据:

1.指数用int,pow值赋给int,结果错误

 #include <stdio.h>
#include <math.h>
int main()
{
double d;
int p,i=;
p=pow(,i);
printf("%d\n",p);
return ;
}

运行结果:

999999999

2.指数用常量,pow值赋给int,结果正确

 #include <stdio.h>
#include <math.h>
int main()
{
double d;
int p,i=;
p=pow(,);
printf("%d\n",p);
return ;
}

运行结果:

1000000000

3.指数用常量,pow值赋给double,结果正确

 #include <stdio.h>
#include <math.h>
int main()
{
double d,p;
p=pow(,9);
printf("%.0lf\n",p);
return ;
}

运行结果:

1000000000

4.指数用int,pow值赋给double,结果正确

 #include <stdio.h>
#include <math.h>
int main()
{
double d,p;
int i=;
p=pow(,i);
printf("%.0lf\n",p);
return ;
}

运行结果:

1000000000

5.指数用double,pow值赋给int,结果错误

 #include <stdio.h>
#include <math.h>
int main()
{
double d,i=;
int p;
p=pow(,i);
printf("%d\n",p);
return ;
}

运行结果:

999999999


从数据看出

pow赋值给int的时候:指数用常量,结果正确;指数用int、double,结果错误

pow赋值给double的时候,指数用常量、int、double,结果都正确


结论,指数用什么类型无关紧要,重要的是pow的值要赋给一个double型变量。

最新文章

  1. tp中ueditor编辑器的使用
  2. Hibernate 继承映射
  3. iOS sqlite3 的基本使用(增 删 改 查)
  4. Extjs 学习笔记1
  5. JQuery text()、html() 以及 val()
  6. 要期末了搞不了OI了额……
  7. Intent官方教程(6)常见Intent示例,启动日历,时钟,镜头等。
  8. DTCMS清除&amp;emsp;&amp;amp;
  9. zTree实现地市县三级级联Action类
  10. 在SharePoint 2010中部署RBS (转)
  11. 关于dedecms的操作
  12. jquery查找元素
  13. (hdu 6030) Happy Necklace 找规律+矩阵快速幂
  14. putty导出、导入数据库
  15. 单页应用 - Token 验证
  16. 前端之css样式(选择器)。。。
  17. javaweb(4)之Listener&amp;Filter
  18. mysql 远程 ip访问
  19. iOS 内存管理之属性关键字
  20. mysql数据库的备份及免密码上传

热门文章

  1. EasyNVR RTSP摄像机HLS直播服务器中使用Onvif协议获取设备快照
  2. 九度OJ 1012:畅通工程 (最小生成树)
  3. UITableView的headerView和headerInsectionView
  4. (图解)Description Resource Path Location Type Java compiler level does not match the version of
  5. UVa 11586 - Train Tracks
  6. JSP九大内置对象的作用和用法总结(转发)
  7. iOS 使用GitHub托管代码
  8. PAT 天梯赛 L2-028. 秀恩爱分得快 【数据处理】
  9. SETEVENT的使用
  10. IntelliJ IDEA 中详细图解记录如何连接MySQL数据库