LukaDoncicY77 发表于 2021-10-28 20:12:07

强制类型转换

#include <stdio.h>
int main()
{
        int a,b,c,d;
        float x=2.46,y=3.57,z=4.68;
        a=(int)x;
        b=(int)x+int(y)+(int)z;
        c=(int)(x+y+z);
        d=(int)x+y+z;
        printf("%d,%d\t%d,%d\n",a,b,c,d);
        printf("%f %f %f\n",x,y,z);
        return 0;
}
为什么 c和d 的值都为10

jhq999 发表于 2021-10-28 22:39:15

c=(int)(10.71)=10=10;
d=2+8.25=10.25=10

LukaDoncicY77 发表于 2021-10-28 22:40:27

jhq999 发表于 2021-10-28 22:39
c=(int)(10.71)=10=10;
d=2+8.25=10.25=10

懂了我输出的是整数
页: [1]
查看完整版本: 强制类型转换