c - Printf stmt 如何执行 printf("%*.*s",10,7,str); 在详细解释
问题描述
为什么我们使用. 在打印字符串时。
printf("%*.*s",10,7,str);
这是实际的程序。详细解释 printf 语句如何执行操作。
#include<stdio.h>
int main()
{
char *str="c-pointer";
printf("%*.*s",10,7,str);
return 0;
}
解决方案
printf("%*.*s",10,7,str);
等于
printf("%10.7s",str);
你告诉 printf 在 str 中打印至少 10 个字母和前 7 个字符,所以
" c-point"
^^^^^^^^^^
要填充的字符是空格,默认对齐是正确的。
您可以将 justify 更改为 left by
printf("%-10.7s",str);
它会打印
"c-point "
并且您不能添加0
到,%s
但您可以在数字转换中执行此操作,并且您不能同时使用-
和0
在数字转换中也因为-
会覆盖0
。
推荐阅读
- tensorflow - TF 准确度得分和混淆矩阵不一致。TensorFlow 是否会在 BatchDataset 的每次访问时对数据进行洗牌?
- git - 在 github 上合并拉取请求并保持历史记录一致
- virtualbox - 将 VirtualBox .VDI .VHD .VMDK 转换为 BOOTABLE .iso 文件
- django - 保存时对相关模型执行操作
- ssl - 带有 .cer 异常的卷曲 TLS
- mysql - 计算字段的优化排序
- r - 保存 kable 表的问题 (install_phantomjs)
- html - 将背景图像与表格 td 元素的右侧对齐
- vhdl - 如何在 VHDL 上添加另一个进程?
- apache-kafka - kafka消息过期事件——如何捕获