You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言printf打印链表内容时如何设置格式实现列对齐效果?

解决方案

直接用printf内置的宽度修饰符即可实现列对齐,左对齐场景下在宽度数值前加-符号即可,修改后的代码如下:

FrameNode* p = head;
// 表头和内容的列宽度要对应,数值可以根据你实际内容长度按需调整
printf("%-20s%-15s%-30s\n", "Name", "Duration", "Path");

// 额外提示:原来的while(p->next)会漏掉链表最后一个节点的内容,建议改成判断p不为空
while (p != NULL)
{
    printf("%-20s%-15d%-30s\n", p->frame->name, p->frame->duration, p->frame->path);
    p = p->next;
}

参数说明:

  • %-20s:表示输出字符串左对齐,固定占用20个字符宽度,内容不足20位时自动在末尾补空格
  • %-15d:表示输出整数左对齐,固定占用15个字符宽度,内容不足15位时自动在末尾补空格
  • 你可以根据自己的实际内容长度调整宽度数值,比如文件名普遍较长就把对应列的20改成更大的数值即可

内容的提问来源于stack exchange,提问作者lior

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 00:03:03