void main(void)
{
int a=1,b=2;
float c;
c=a/b;
printf("%f",c);
}
为什么输出是0.000000而不是0.500000啊
C语言%f输出为什么小数位都为零了啊
这个与运算符的优先级有关。赋值运算(“=”)运算级比算术运算(“\/”)要低。先进行除法运算,两整数相除得到 0 ,最后执行赋值运算,因为 c 为float 类型,比 int 级高,int自动转为 float类型,即为你的答案0.00000
C语言用%f输出的数为什么小数部分都是0?
C语言中,%f是用来输出浮点数的,如果输出的数为整数,那么小数部分默认为0。如果想要输出小数部分,需要在%f前面加上.数字,表示小数点后面的位数。例如,%.2f表示保留两位小数。
在C语言里,如果定义变量时INT型,但输出是用%f,为什么结果是0.000000_百度...
在输出时如果把%后面的字母用错,则输出的结果都是0. 当然如果是double 和float 等则会输出为0.000000 小数点后默认为6位小数
C语言中将int以%f输出时为何为0?
printf不会替你转换数据。编译的时候编译器不可能知道printf需要什么数据,所以不会转换。运行的时候printf不知道你的数据是以什么类型传入的,还是不会转换。你把int数据用%f输出,相当于输出了一个相同二进制形式的float数据(假设你是TC的话)___没有发生浮点运算的编译器是不会载入浮点库的,所以会抱...
C语言, 为啥输出的结果一直是0啊 哪里错了啊
一、因为数据类型都是float,所以输入输出都应该是%f scanf_s("%f, %f", &a, &b);scanf_s("%f, %f", &c, &d);二、输入格式中要求每一组数据要用逗号(英文)分隔,如下:12,34 56,23 这样才可以 三、输出保留两位小数是:点2f不是2f printf(" Labor cost for the boy is %.2f ...
C语言里9\/5 以%f输出为什么是0呢?
因为9\/5结果为1,在内存中应该是(假设占4个字节)00000000 00000000 00000000 00000001,而如果把这个值看做float输出的话就是0了,这个与浮点数的存储方式有关,你百度一下吧。
...不正确的数;用%f输出一个整数,结果为0,这是为什么?
整数是按补码存放的,而浮点数是阶码+尾数原码存放的。机内的浮点数都是8字节双精度,53位用来存放尾数原码,用%d控制只截取低4字节的原码数据按补码输出,常常是个大大的或正或负的数;而反过来,一个整数4字节,按%f要读取8字节,而整数前面的4字节常常是0,把它按阶码部分尾数处理后自然常常是0。
为什么c语言编程float算出来有很多0
这不是“算出来”的问题,是输出函数printf的控制符用得不合适:%f的作用是按浮点型输出,默认保留6位小数,不足6位的后面用0补齐。想要不输出小数点后多余的0,用%g控制就可以了,它是所谓紧凑型输出,默认有效数字7位(连小数点)左对齐,在此范围内,小数点的实际有效位是多少就输出多少。举例代码...
.c语言输出小数时 全部显示成0
当你输入0,5,2的时候计算(-c\/b)结果是0,所以一直输出的结果是0;要么你修改a,b,c任意一个的类型为float(全部也可以),或者你在这里加一个强制类型的转化(float)-c\/b就行了,强制转换的是第一个-c第二个b系统自己就帮我们转换了(int -->float),其他的几个采用相同的做法 ...
为什么c语言打%.2f输出都是0.00?
f是输出浮点型。多一个.2在中间的意思是保留两位小数