c语言 int类型的可以和double类型的比较大小吗

如题所述

是可以比较的:

#include<stdio.h>

int main()

{

int a=9;

double b=9.999999;

if(a > b)

printf("a>b\n");

else

printf("a<b\n");

}

因为在进行if(a > b)时,会发生int 向float 的转换,但是不推荐这种比较方式,应该这样:

if(a -  b > 0)

让他与0比较是正确的方法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-26
肯定可以啊。
但运算的话:
有兼容性的,占空间小的数据类型,可以给占空间大的数据类型赋值
不兼容的,可能会造成数据丢失。int ->float可以转换;float->int 小数部分丢失
也就是说那得看你的变量类型
你最好是先将他们转换为同一类型量
变量的类型不管 主要是你的赋值类型
希望能帮到您。敬请采纳!
中国物联网校企联盟
第2个回答  2013-03-26
可以比较大小,int类会被提升为double类再比较
第3个回答  2013-03-26
可以啊
int a=2;
double b=1.1
//隐式转换,相当于if( (double)a >b )

if( a> b)
{
printf("a>b");

}
第4个回答  2013-03-26
可以的啊~~