问个很菜的C语言的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:55:56
#include <stdio.h>
#include <stdlib.h>

int main ()
{

float x=1/2;
printf("%f\n",x);
system("PAUSE");
return 0;
为什么这个输出是0.000000而不是0.500000呢?这个怎么改

1/2计算的结果会按int类型计算即为0,然后结果0在转换成float.
根据隐式转换
改成float x=1.0/2;这样就可以了.
即把1改为1.0就行了.

整型与整型进行运算 其得数也为整型 这时已经为0了 然后将0赋给float 依然为0 将1改为1.0就行了

float x=1.0/2;
就可以了!