use*_*898 -1 c printf add output
main()
{
float a=10;
float c;
float b=5.5;
c=a+b;
printf("%d",c);
}
Run Code Online (Sandbox Code Playgroud)
上面代码的输出为零.为什么?我很抱歉,如果这是一个非常简单的C概念,我是一个初学者.
你需要使用%f(或%e或者%g,根据您的首选格式),而不是%d浮点数字.实际上,使用%d非整数是"未定义的行为".
printf("%f", c);
Run Code Online (Sandbox Code Playgroud)
或者,如果您尝试将浮点舍入为整数,则必须先将其转换为整数.
printf("%d", (int) c);
Run Code Online (Sandbox Code Playgroud)