在 c 语言中的 printf 函数中对齐列
本文将演示关于如何在 c 语言的 printf
函数中对齐列的多种方法。
使用%{integer}d
符号来对齐 c 语言中的输出
printf
是标准 i/o 库的一部分,可以利用它将格式化的字符串输出到 stdout
流。stdout
流是有缓冲的;因此,如果字符串不包括换行符,可能会有延迟。通常,给定的字符串不会被打印,直到内部缓冲区没有被填满;只有在这之后,内容才会被写入 stdout
流。
printf
使用以%
字符开头的格式指定符来控制字符串的格式。除了内置数据类型的不同指定符外,一些符号还可以添加各种功能,如对齐和填充。在这种情况下,我们在%
和格式指定符字符之间插入给定的整数,以表示输出项左侧要填充的空格数。因此,我们可以在多行输出中包含相同的数字,以使条目向右对齐。
#include #include int main(int argc, char const *argv[]) {
int mm1 = 11011;
int mm2 = 111;
int mm3 = 11;
printf("d %d\n", mm1, mm1);
printf("d %d\n", mm2, mm2);
printf("d %d\n", mm3, mm3);
exit(exit_success);
}
输出:
11011 11011
111 111
11 11
使用%*d
符号来对齐 c 语言中的输出项
另外,使用%*d
符号也可以实现同样的格式化,它还要求提供整数,因为数据参数是在逗号之后。但请注意,如果多个格式指定符包括%
字符,它们都需要在相应的参数前包括一个单独的整数值。
#include #include int main(int argc, char const *argv[]) {
int mm1 = 11011;
int mm2 = 111;
int mm3 = 11;
printf("%*d %d\n", 10, mm1, mm1);
printf("%*d %d\n", 10, mm2, mm2);
printf("%*d %d\n\n", 10, mm3, mm3);
exit(exit_success);
}
输出:
11011 11011
111 111
11 11
使用%*d
和%{int}d
符号来对齐表中的列
最后,我们可以在不同的情况下结合这两种方法,在任何文本表输出中对列进行对齐。注意,有时需要将列项向左对齐。我们可以通过在格式指定符之间插入负整数值或者用%*d
符号作为参数传递来实现。当填充不为常量且可以在运行时动态计算时,后一种ag捕鱼王app官网的解决方案更为合适。
#include #include #ifndef max
#define max 10
#endif
int main(int argc, char const *argv[]) {
char *row1[] = {"num", "name", "sum"};
int col1[] = { 1, 2, 3 };
char* col2[] = { "one", "two", "three" };
int col3[] = { 1243, 14234, 3324 };
printf("%*s | %*s | %*s\n", -3, row1[0], -max, row1[1], max, row1[2]);
printf("%*c | %*c | %*c\n", -3, '-', -max, '-', max, '-');
size_t len = sizeof col1 / sizeof col1[0];
for (int i = 0; i < len; i) {
printf("%-3d | %-10s | d\n", col1[i], col2[i], col3[i]);
}
exit(exit_success);
}
输出:
num | name | sum
- | - | -
1 | one | 1243
2 | two | 14234
3 | three | 3324
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
在c中将整数转换为字符
发布时间:2024/01/03 浏览次数:131 分类:c语言
-
本教程介绍了在c中将整数转换为字符的不同方法。在c编程语言中,将整数转换为字符在各种情况下都很重要。在c中,字符是以ascii值表示的,因此转换过程相对简单。
发布时间:2023/05/07 浏览次数:364 分类:c语言
-
本文介绍了如何在 c 语言中使用 typedef enum。使用 enum 在 c 语言中定义命名整数常量 enum 关键字定义了一种叫做枚举的特殊类型。
发布时间:2023/05/07 浏览次数:129 分类:c语言
-
本文演示了如何在 c 语言中使用前缀增量与后缀增量运算符。c 语言中 i 和 i 记号的主要区别
发布时间:2023/05/07 浏览次数:275 分类:c语言
-
本文演示了如何在 c 语言中获取当前工作目录。使用 getcwd 函数获取当前工作目录的方法
发布时间:2023/05/07 浏览次数:177 分类:c语言
-
本文介绍了如何在 c 语言中使用位掩码。使用 struct 关键字在 c 语言中定义位掩码数据
发布时间:2023/05/07 浏览次数:212 分类:c语言
-
本文演示了如何在 c 语言中使用标准库排序函数。使用 qsort 函数对 c 语言中的整数数组进行排序
c 语言中的 extern 关键字
发布时间:2023/05/07 浏览次数:131 分类:c语言
-
本文介绍了如何在 c 语言中使用 extern 关键字。c 语言中使用 extern 关键字来声明一个在其他文件中定义的变量