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

#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);
 }
}

Confused_wz
浏览 1496回答 3
3回答

梁先生呀

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

Confused_wz

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

堇延未七

我用VS2015运行是没有问题的,你是报什么错误呢?
打开App,查看更多内容
随时随地看视频慕课网APP