00问答网
所有问题
C语言问题 把 INT类型 换成float 就 结果不对 为什么啊
# include <stdio.h>
int main(void)
{
float a;
a =50 % 23;
printf("a = %d\n", a);
return 0;
}
举报该问题
推荐答案 2011-09-06
# include <stdio.h>
int main(void)
{
float a; /*变量a定义为 单精度浮点型(float)*/
a =50 % 23; /*求的是50比23的模,模为4,4为整形(int),显然与变量a的类型不 符,导致编译错误*/
printf("a = %d\n", a); /*%d为整形数据输出符,%f为浮点型输出*/
return 0;
}
解决方法:把%d改为%f
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/rDerIDZTD.html
其他回答
第1个回答 2011-09-06
输出结果是什么?
两个可能:
1,float有精度的问题的。导致最终的输出结果不正好的4
2,50%23编译时改成了(float)50%(float)23,浮点数这样计算不知道会怎样,结果自然就不对了
第2个回答 2011-09-06
float a;定义的是浮点类型的变量,而printf("a = %d\n", a);里面的却是%d 这显然不对
第3个回答 2011-09-06
输出类型错误,楼上正解
第4个回答 2011-09-06
在 printf里面把%d换成%f就行了
1
2
下一页
相似回答
c语言为什么
警告说从“
int
”转换到“
float
”,可能丢失数据
答:
int转float丢失数据说的是精度丢失
。在C语言中,int是整型变量,其代表的是准确值。而float是单精度浮点数,其本身是有精度限制的。也就是说,存在float变量中的数据,可能看起来是那个数,打印出来也是,但是实际存的是一个很接近但是并不准确的值。比如int的值是1000,转成float之后,可能存的就是100...
C语言问题
int
换成 float
时
为什么
出错
答:
数组名[下标],下标得是整型。其实这个问题自己仔细一点,翻翻书,能解决的。
C语言
关于
int变成float
答:
定义的数据类型不一样
!int和float的数据宽度都不一样!要么就强制转换!但是强制转换也会出错!因为int不能强制转换成float!float的位宽比int长
C语言中
声明一个
为float类型
的变量,输入输出都用%d,
为什么
与声明为
int
...
答:
float和int的二进制表示方式是不同的
,如果用int的格式输入数据再赋值给float类型的变量,实际值肯定不再是你预期的值了,所以应该用 %f 来输入输出
大家正在搜
相关问题
C语言问题 把 INT类型 换成float 就 结果不对 为...
C语言问题 int 换成 float时为什么出错
c语言中float转int结果输出不对
c语言为什么警告说从“int”转换到“float”,可能丢失...
c语言,我将float换成double为什么不对?
c语言中定义数据类型时为什么将int改为double后数据运...
@C语言大神:t=1这个式子定义在float和int之后的结...
c语言问题中int和float