关于sqrt 数据类型的问题!不得不让警告!
程序代码:#include<stdio.h>//一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include<math.h>
void main()
{
long i,x,y;//这个是正确答案!!但是我的做的时候 x,y的类型是double(因为 sqrt要求的double类型),结果我做的结果不对!
for(i=0;i<=100000;i++)
{
x=sqrt(i+100);
y=sqrt(i+268);
if(x*x==i+100&&y*y==i+268)
printf("%ld\n",i);
}
}哪位朋友能帮助我解释一下!这道题用sqrt来解决 而 变量只有是long的时候才能做出这道题,但是vc6.0却出现了警告!希望朋友朋友能解释解释!谢谢
[ 本帖最后由 vvvevvv 于 2010-12-8 18:46 编辑 ]










定义成double 怎么这样啊