问答详情
源自:2-8 自动类型转换

我有一个问题

#include <stdio.h>
int main()
{
    char c = 'a';
    int n = c;        //将c赋值给n
    float f = c ;     //将c赋值给f
    double d = c;     //将c赋值给d
    printf("%d\n",n);
    printf("%f\n",f);
    printf("%lf\n",d);
    return 0;   
}

为什么printf("%lf\n",d)里,%If里会有I?一般不是%f么?

提问者:晓镜夜寒 2019-03-01 17:11

个回答

  • 慕标2013950
    2019-03-01 18:39:50
    已采纳

    float用%f,double用%lf

  • 白跑一圈
    2019-03-03 12:35:49

    %f代表按实型输入或输出,而%lf代表按双精度输入或输出.

    相互用也可以,就是极大概率会导致程序崩溃等损失。