【C语言】float转化为int的问题
#include <stdio.h>
int main() {
float x;
x=10/4;
printf("%d",x);
}

输出:0

为什么是0啊?如果%d表示整型,不应该是2吗?

5个回答

这个和数据在内存中的分布有关
建议你看下
https://blog.csdn.net/lolichan/article/details/84895545

另一个int型变量等于x,然后输出那个变量

你的x应该这样定义
int x;
这样输出的才是2.

int main() {
float x;
x=10/4;
printf("%d",(int)x);
}

C语言不支持隐式类型转换,所以说必须将类型强制转换一下,否则会导致输出的不是想要的结果:

//隐式类型转换实例
float s = 1.24;
int n = (float)s;
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐