如何在Ubuntu上给EOF,Ctrl-D似乎不起作用?

时间:2016-03-05 17:35:37

标签: c linux ubuntu

如果有多个空格,我编写了以下代码,只打印一个空格。

#include<stdio.h>

void main()
{
    int c;
    while((c=getchar())!=EOF)
    {
        if(c==' '||c=='\t')
        {
            while(c==' '||c=='\t')
                c=getchar();
            putchar(' ');
            putchar(c);

        }   
        else
            putchar(c);
    }
}

1 个答案:

答案 0 :(得分:1)

Enter 之后,您需要在一行上单独输入 Ctrl + D
或者连续两个 Ctrl + D

./a.out
foo            bar<ENTER>
<Ctrl+D>

./a.out
foo         bar<Ctrl+D><Ctrl+D>