printf函数格式化输出(以指数表示实数)

a =1.2;
为啥以%e打印与%10e打印是一样的?而不是10列,而%10.5打印出来是10列?不懂哦

%10e表明显示长度是10,如果结果的实际长度大于10,那么就按实际长度显示,结果长度小于10,就再左侧补充空格。%e输出double类型的时候,小数部分默认占6位,1.2显示方式是1.200000e+00,长度大于10,所以%10e显示的时候,%10e失效,按照实际长度显示,所以%10e显示的跟%e显示的一样。
如有帮助,望采纳,谢谢。

img

因为本身就占了10位 了,所以看着没有变化
%20e就能看出来效果了

img

#include<stdio.h>
int main()
{
    int i,j;

    float a=1.2;
    
    printf("%20e",a);
    return 0;
}



您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632