我正在阅读这篇关于printf的秘密的文档,以便编写我自己的printf,我发现第二个("%5.0f.", e)e = 2.718281828 printf floating point format and what it produces令人困惑,为什么在3和小数点之前有四个空格?

我认为输出应该是3.在数字3之前加上三个空格作为小数点本身就是一个空格.

推荐答案

在格式串"%5.0f."中有两个部分:浮点说明符%5.0f和文字..这两个人没有以任何方式联系在一起.

第一部分打印4个空格,后跟数字2,第二部分只打印.,独立于第一部分.

C++相关问答推荐

va_arg -Linux和Windows上的不同行为

修改pGM使用指针填充2-D数组但不起作用

gcc已编译的可执行文件TSB是否同时暗示最低有效字节和最低有效位?

C指针地址和转换

在使用GTK 4 Columnview列表模型时,如何为多列添加排序函数.C编码,Linux/GNOME环境

在C中使用动态内存分配找到最小的负数

为什么删除CAP_DAC_OVERRIDE后创建文件失败?

可以将C变量限制为特定的读/写速度吗?

如何将常量char*复制到char数组

CSAPP微型shell 实验室:卡在sigprocmask

如何将字符**传递给需要常量字符指针的常量数组的函数

C-使用指针返回修改后的整数数组

为什么用非常数指针变量改变常量静态变量时会出现分段错误?

将字符串数组传递给C中的函数:`str[dim1][str_size]`vs`*str[dim1]`

Caesar密码调试:输出文本末尾的问号和随机字符

我不知道为什么它不能正常工作,我用了get()和fget(),结果是一样的

向左移位3如何得到以字节为单位的位数?

传递给函数的 struct 中的数组

使用 c 中的 write() 函数将非 ASCII 字符写入标准输出

通过修改c中的合并排序对数组的偶数索引进行排序