Y-Crystal 发表于 2018-11-28 17:04:29

关于printf函数的width

#include<stdio.h>
int main()
{
        printf("打印五个字符:%c ,%c ,%c ,%c ,%c\n",70,105,115,104,67);
        printf("前面用 填充:%10d\n",2015);
        printf("前面用0填充:%010d\n",2015);
        printf("右对齐,保留两位:%10.2f\n ",3.1416);
        printf("左对齐,保留三位:%-10.3f\n",3.1416);
        printf("右对齐,指数形式:%10e\n",520000.0);
        printf("左对齐,指数形式:%-10e\n",520000.0);
        return 0;
}
我按照上面的程序编译运行后发现,就最后两个结果跟小甲鱼的结果不一样,分别是:右对齐,指数形式:5.200000e+005和左对齐,指数形式:5.200000e+005,而小甲鱼给的结果是右对齐,指数形式:5.200000e+05和左对齐,指数形式:5.200000e+05。为什么我的结果多了一个0呢?width如果是10的话,小数点应该算占一个宽度吧?

KAKUI丶 发表于 2018-11-28 17:33:39

只能说是编译器的原因,可以试试其他的编译器,我用python显示的跟小甲鱼的是一样的,末尾为05
不知道怎么截图

Y-Crystal 发表于 2018-11-28 19:36:02

KAKUI丶 发表于 2018-11-28 17:33
只能说是编译器的原因,可以试试其他的编译器,我用python显示的跟小甲鱼的是一样的,末尾为05
不知道怎么 ...

好的,谢谢~
页: [1]
查看完整版本: 关于printf函数的width