Chinaunix首页 | 论坛 | 博客
  • 博客访问: 220969
  • 博文数量: 136
  • 博客积分: 2919
  • 博客等级: 少校
  • 技术积分: 1299
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-11 09:08
文章分类

全部博文(136)

文章存档

2013年(1)

2011年(135)

我的朋友

分类: C/C++

2011-03-16 10:58:05

  1. #include "stdio.h"

  2. #define MAXLINE 1000    /* maximum input line length */

  3.     int max; /* maximum length seen so far */
  4.     char line[MAXLINE]; /* current input line */
  5.     char longest[MAXLINE]; /* longest line saved here */
  6.     int getline1(void);
  7.     void copy(void);

  8. /* print the longest input line; specialized version */
  9. main()
  10. {
  11.     int len;
  12.     int max;      //or extern int max;
  13.     extern char longest[];

  14.     max = 0;
  15.     while ((len = getline1()) > 0)
  16.      if (len > max) {
  17.          max = len;
  18.          copy();
  19.      }
  20.     if (max > 0) /* there was a line */
  21.      printf("%s", longest);
  22.     return 0;
  23. }

  24. /* getline: read a line into s, return length */
  25. int getline1()
  26. {
  27.     int c, i;
  28.     extern char line[];
  29.     for (i = 0; i < MAXLINE-1 && (c=getchar()) != EOF && c!='\n'; ++i)
  30.      line[i] = c;
  31.     if (c == '\n') {
  32.         line[i] = c;
  33.         ++i;
  34.     }
  35.     line[i] = '\0';
  36.     return i;
  37. }

  38. /* copy: copy 'from' into 'to'; assume to is big enouth */
  39. void copy(void)
  40. {
  41.     int i;
  42.     extern char line[], longest[];
  43.     i = 0;
  44.     while ((longest[i] = line[i]) != '\0')
  45.      ++i;
  46. }
阅读(423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~