很奇怪,大家帮我看看啊!谢谢了
#include<stdio.h>#include<math.h>
int main()
{
printf("%d\n",sqrt(9));
return 0;
}
就这么个简单的代码出现了问题。输出结果是0!?怎么回事呢?
如果改成printf("%f\n",sqrt(9));输出结果就是3.00000,就对了。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
printf("%d\n",(int)sqrt(9));
return 0;
}
----------------解决方案--------------------------------------------------------
sqrt()函数默认是double型的,所以可在前面加上int强制转化成整形!
----------------解决方案--------------------------------------------------------
哦,是这样啊,谢谢了!
看来我真的很菜啊,多向大家学习!
----------------解决方案--------------------------------------------------------