-1

我有点卡住了,希望有人可以快速查看一下我做错了什么。我想让制表符算作输出空格而不是制表符。在这种情况下,我使用 3 个空格 = 1 个制表符。我假设这可能与我如何设置我的第一个 while 语句有关,因为现在它正在将选项卡读取为选项卡。

int main()
{
  int i, c;
  int N = 3;

  while ((c = getchar ()) != EOF && c != '\n')
  putchar (c);
  while ((c = getchar()) == '\t')
  for (i=1; i<=N; i++) 
    {
      putchar(' ');
    }
  system("Pause");
}
4

1 回答 1

2

尝试这个:

int main()
{
    int i, c;
    int N = 3;

    // exit on Ctrl-C
    while((c = getch()) != 3)
    {
        if(c == '\t')
        {
            for(i=1; i<=N; i++)
            {
                putchar(' ');
            }
        }
        else if(c == '\r')
        {
            putchar('\r');
            putchar('\n');
        }
        else
        {
            putchar(c);
        }
    }
}
于 2015-02-01T19:48:31.537 回答