zoukankan      html  css  js  c++  java
  • printf()函数中 ,水平制表符,空格的个数

    在控制台输出数据的时候,也就是用printf()的时候,我们经常用 来控制对齐,以使输出的结果更加整齐美观。

    然而有时候我们发现及时使用了 也会出现数据对不齐的情况,这就跟 究竟对应几个空格有关系。

    先给出程序和运行结果,再进行解释。

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc,char* argv)
    {
    
        printf("123456	123	45
    ");
        printf("12	123456	78
    ");
        printf("---------------------------------------
    ");
        printf("1234567	123	45
    ");
        printf("12	123456	78
    ");
        printf("---------------------------------------
    ");
        printf("12345678	123	45
    ");
        printf("12	123456	78
    ");
        printf("---------------------------------------
    ");
        printf("123456789	123	45
    ");
        printf("12	123456	78
    ");
        printf("---------------------------------------
    ");
        printf("123456781234	123	45
    ");
        printf("12	123456	78
    ");
    
        return 0;
    }

    运行结果:

    可以看到,出现了数据不能对其的情况。我们发现 对应的空格的次数是不固定的,并不是我们所认为的4个空格或8个空格。

    那么有什么规律呢。给个简单的公式  :

    令  num = |n-8|%8, 其中n表示 前面的字符占的位置(前面的字符也可能是转换说明,如%d,%10d等)。

    那么 对应的空格的个数 spaceNum,有

    所以我们看到当 前面为123456时,后面有两个空格;当 前面为1234567时,后面有1个空格,而当前面正好为12345678时,后面跟8个空格

    当前面为123456781234时,后面的空格数量为  |12-8|%8=4

  • 相关阅读:
    React开发流程及认识
    Python整合AnaConda
    计算机显示器扩展方向调整
    python3 urlencode 和 urldecode 使用
    解决开启Vue项目缺少node_models包问题
    解决开启Vue项目缺少node_models包问题
    python中列表相加
    python炒鸡面试题
    Django中的CBV控制前后端分离模式
    selenuim使用总结
  • 原文地址:https://www.cnblogs.com/qingergege/p/6104577.html
Copyright © 2011-2022 走看看