为什么我编写代码总有这个警告,明明跟书里写的完全一样,为什么会有警告?
warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data为什么我编写代码总有这个警告,明明跟书里写的完全一样,这个警告怎么解决? #include <stdio.h>
#include <math.h>
#define M 1000
int main()
{
int i,k;
printf("请输入小于%d的整数i:",M)
scanf("%d",&i);
if(i>M)
{
printf("输入不符合要求,请重新输入一个小于%d的整数i",M);
scanf("%d",&i);
}
k=sqrt(i);
printf("%d的平方根的整数部分是%d\n",i,k);
return 0;
}
本帖最后由 哥斯拉不说话 于 2015-8-16 12:51 编辑
warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
的意思是:从 double 型 转化到 int 型,可能会丢失数据。
sqrt()会返回一个 double 型 数据,应该用一个 double 型 变量来接收。 哥斯拉不说话 发表于 2015-8-16 12:39
warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
的意思是:从 double ...
那应该怎样改? 把 k 定义成 double 型,打印的时候用 %lf 打印。
页:
[1]