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

为何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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号