编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。

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

解:程序:

#include <stdio.h>  

int main()

{

char ch;

int line = 0;

int flag = 1;

while ((ch = getchar()) != EOF)//输入Ctrl+Z结束

{

if (flag == 1)

{

//1 abcd

//如果没有flag = 0,则输出1a2b3c

flag = 0;//flag = 0相当于一个开关,控制行数的增加

line++;

printf(" %d ", line);

}

putchar(ch);

if (ch == '\n')

{

flag = 1;

}

}

return 0;

}

结果:

1132241zzfdb

 1 1132241zzfdb

132

 2 132

^Z

请按任意键继续. . .