The C Programming Language 第二版 练习1-16 修改main实现
2015-01-25 22:26
423 查看
#include <stdio.h> #define MAXLINE 10 #define MORE 1 #define NOMORE 0 int mygetline(char line[], int maxline); int main(void) { int tmplen, len, max; int state; char line[MAXLINE]; tmplen = len = max = 0; /* init state is NOMORE */ state = NOMORE; while ((tmplen = mygetline(line, MAXLINE)) > 0) { /* MORE line */ if (tmplen == MAXLINE - 1 && line[MAXLINE - 2] != '\n') { len += tmplen; state = MORE; printf("%s", line); } else { /* NOMORE line */ if (state == MORE) len += tmplen; else len = tmplen; line[tmplen - 1] = '\0'; printf("%s [%d]\n", line, len); if (len > max) max = len; len = 0; state = NOMORE; } } if (max > 0) printf("max:%d\n", max); return 0; } int mygetline(char line[], int lim) { int c, i; for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; i++) line[i] = c; if (c == '\n') line[i++] = c; line[i] = '\0'; return i; }
按作者要求修改main函数实现打印任意长度的输入行的长度,并且尽可能多打印文本~
相关文章推荐
- 关于编写一个函数invert(x,p,n),返回x循环右移n位后得到的值,the c programming language 第二章练习2-8
- The C Programming Language第二版第一章习题(部分)
- 编写函数itob,将整数n转换为以b为底的数(The c programming language 练习3-5)
- Library Organization and Containers(Chapter 16 of The C++ Programming Language)
- The programming language 练习4-1
- 练习1-16 修改打印最长文本行的程序的主程序main, 使之可以打印任意长度的输入行的长度, 并尽可能多的打印文本。
- 练习1-16 修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本。
- 《The+C+++Programming+Language》第十一章String部分实现
- 练习1-16:修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本(C程序设计语言 第2版)
- 再读《The C Programming Language》 第二章 2.4 练习汇总
- C程序设计语言练习1-16 修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多的打印文本
- The Curl Programming Language
- The C++ Programming Language 第六章 作业
- The C++ Programming Language 第五章
- The C# Programming Language Notes
- 《The C Programming Language》读书笔记3
- The C++ Programming Language 第一章
- The C++ Programming Language 第三章
- The Java Programming Language Notes
- 《The C Programming Language》读书笔记1