//从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。

//在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制。

#include<stdio.h>

#include<process.h>

int main()

{

    int c = 0;

    int line = 1;

    int flag = 1;

    while ((c = getchar()) != EOF)

    {

        while (flag)

        {

        printf("%d.", line);

        flag = 0;

        }

        if (c=='\n')

        {

        line++;

        flag = 1;

        }

        putchar(c);    

    }

system("pause");

return 0;

}

标志位flag也有自己不可替代的作用,本题中flag相当于一个开关,在输入第一行之前开关是开的(即flag=1),进入while后关闭(即flag=0),之后只有遇到换行时,开关才打开。