为了账号安全,请及时绑定邮箱和手机立即绑定

请问这段代码哪里出错了,pow(y,2)换成y*y可以运行,两者不是等价的?

请问这段代码哪里出错了,pow(y,2)换成y*y可以运行,两者不是等价的?

C
Confused_wz 2016-04-25 21:29:11
#include <stdio.h>#include "math.h"main(){ long x,y,z; for(x=0;x<=10000;x++) {  y=sqrt(x+100);  z=sqrt(x+268);  if(pow(y,2)==x+100&&pow(z,2)==x+268)   printf("%ld\n",x); }}
查看完整描述

3 回答

?
梁先生呀

TA贡献6条经验 获得超19个赞

别邀请我啊大哥。。这种问题问google啊。。很明显pow()返回值的问题。pow(y,2)改成 (int)pow(y,2)

查看完整回答
反对 回复 2016-05-04
?
Confused_wz

TA贡献2条经验 获得超0个赞

突然感觉这种问题存在感好低。。。

查看完整回答
反对 回复 2016-04-26
?
堇延未七

TA贡献36条经验 获得超19个赞

我用VS2015运行是没有问题的,你是报什么错误呢?

查看完整回答
反对 回复 2016-04-26
  • Confused_wz
    Confused_wz
    我用C-Free,没有报错。但是运行只显示按任意键继续然后就没有了。
  • 3 回答
  • 0 关注
  • 1495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信