c - C 上的缩进不适用于前十行代码

标签 c

我的程序中的缩进由 \t 实现,仅在第 10 天后显示。我不知道它有什么问题。

float penny= 0.01;
int days = 1;

while(31 >= days)
{
    printf("Day: %d \t Amount: %f\n", days, penny);
    days += 1;
    penny *= 2;
}

最佳答案

这是因为 TAB 字符 (\t') 只是将光标前进到下一个模 8 列:

插图:

01234567012375670123456701234567 <-- column number modulo 8
|       |       |       |
Day: 9   Amount: 2.560000
Day: 10          Amount: 5.120000
Day: 11          Amount: 10.240000

通常终端的行为是这样的,但我不确定是否真的有一个标准来定义它。

说明此行为的小程序:

#include <stdio.h>

int main()
{
  int i,j,k;

  for (i = 0; i < 16; i++)
  {
    for (j = 0; j < 4; j++)
    {
      for (k = 0; k < i; k++)
      {
        printf ("*");
      }
      printf ("\t");
    }    
    printf ("\n");
  }
}

输出:

*       *       *       *
**      **      **      **
***     ***     ***     ***
****    ****    ****    ****
*****   *****   *****   *****
******  ******  ******  ******
******* ******* ******* *******
********        ********        ********        ********
*********       *********       *********       *********
**********      **********      **********      **********
***********     ***********     ***********     ***********
************    ************    ************    ************
*************   *************   *************   *************
**************  **************  **************  **************
*************** *************** *************** ***************

关于c - C 上的缩进不适用于前十行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32095796/

相关文章:

python - 我是否正确使用 ctypes 来 pythonify 这个结构?

c - 解析 SIP 消息体

c - RTP header C 编程

c - 指针间接寻址比条件寻址更昂贵吗?

我可以将命令行参数读取为二进制吗?

C:多个 fork

以编程方式配置网络规划

c - strstr() - C 库函数在字符串 (haystack) 中找不到字符串 (needle)

c - 增加指针的内容

c - fseek 在打开的文件指针上失败