小飞鼠杰瑞 发表于 2025-1-5 09:25:44

printf打印函数输出缩进有误

#include <stdio.h>

int main()
{
                printf("\n\
             @\n\
          / \\\n\
          * *\n\
          * *\n\
          * *\n\
        * * * * * *\n\
* * * * * * * *\n\
* * * * * * * * * *\n\
          * *\n\
                * *\n\
          * * * *\n\
        * * * * * *\n");
       
                return 0;
}
为什么上面的代码输出之后是以下这个样子缩进会产生问题?
             @
            / \
            * *
            * *
            * *
      * * * * * *
* * * * * * * *
* * * * * * * * * *
            * *
                * *
          * * * *
      * * * * * *

FishC 发表于 2025-1-5 09:25:50

你遇到的问题是因为在不同的行缩进中使用了不同数量的空格或制表符(tab),导致输出的图形缩进不一致。在C语言中的`\t`(制表符)和空格在不同的环境下表现可能不一致,影响对齐。

建议使用固定数量的空格来保证输出格式一致。例如,调整代码如下:

#include <stdio.h>

int main()
{
    printf("\n\
             @\n\
            / \\\n\
            * *\n\
            * *\n\
            * *\n\
          * * * * * *\n\
      * * * * * * * *\n\
      * * * * * * * * * *\n\
            * *\n\
            * *\n\
          * * * *\n\
      * * * * * *\n");

    return 0;
}

这样,所有行的缩进都是通过手动计算和分配空格实现的,避免了不同字符宽度的混用所带来的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: printf打印函数输出缩进有误