问答详情
源自:1-1 代码初体验,制作我的第一个网页

c语言问题

double不是输出6位小数的吗 为什么我的这段代码能输出9位小数


#include<stdio.h>

int main(){

double a=12.123456789;

printf("%12.9f",a);}


提问者:慕UI3307026 2017-10-13 22:25

个回答

  • 如是_wy
    2017-10-13 22:38:56
    已采纳

    double类型默认显示6位。但是你输出的时候指定了输出位数啊....就是那个" . "后面的,是9,所以输出9位。这一位是用来指定显示的最小位数,在不指定的情况下,整数默认1位,浮点数默认6位


  • 慕圣3395889
    2017-10-13 22:43:09

    因为你printf()里的12.9指定了输出位, .9表示输出小数点后9位数,不够补0;

  • 慕粉4303487
    2017-10-13 22:43:00

    double类型默认显示6位。.9设置了输出位数为9.

  • 永痕的心
    2017-10-13 22:40:11

    double只是默0位认输出6位小数,而你的printf中很明显设置了输出位数为9