为了账号安全,请及时绑定邮箱和手机立即绑定

为何f转为双精度浮点了?

#include <stdio.h>

int main()

{

    char c = 'a';

    int n =c;         //将c赋值给n

    c=97;

    float f =c;       //将c赋值给f

    

    double d =c;      //将c赋值给d

    printf("%d\n",n);

    printf("%f\n",f);

    printf("%lf\n",d);

    return 0;    

}

为何f转为双精度浮点了?

正在回答

2 回答

首先你搞明白什么叫精度,然后再提出这个问题,你自己就会豁然开朗了

因为你的 c 实则为 char 类型 , 97 等于 两个字符串, 你那样赋值不报错也不给警告?

0 回复 有任何疑惑可以回复我~
#1

慕用3310659 提问者

提交没有报错,因为结果就是生成了97,97.000000,97.000000 %f应该就是输出小数点后6位数吧
2017-03-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为何f转为双精度浮点了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信