《c程序设计语言》读书笔记

来源:互联网 发布:js array长度的方法 编辑:程序博客网 时间:2024/06/08 04:09
#include <stdio.h>#defineMAXLINE10int getLine(char s[], int lim);void copy(char to[], char from[]);int calcLen(char s[]);int main(){int len, index, row;char line[MAXLINE];char post_line[MAXLINE][MAXLINE];row = 0;while((len = getLine(line, MAXLINE)) > 0){if(line[len-1] == '/n')//判断读入的一行字符串的倒数第二个字符是否为'/n'index = len - 2;elseindex = len - 1;while(line[index] == ' ' || line[index] == '/t')   //消除字符串结尾的' '和'/t'{line[index] = line[index+1];line[index+1] = line[index+2];--index;}if(index > -1)copy(post_line[row++], line);//如果line是全空格字符串,对其进行消除字符串结尾                                                 // 处操作使得line成为一个空字符串,故不将其(空字                                                 //符串)拷贝到post_line中。}for(index = 0; index < row; ++index)//post_line针对其中每个字符串的倒数第二个                                         //字符是否为'/n'在打印的时候做不同处理。if(post_line[index][calcLen(post_line[index])-1] != '/n')printf("%s/n", post_line[index]);elseprintf("%s",post_line[index]);return 0;}int getLine(char s[], int lim){int i;char c;for(i = 0; i < lim-1 && (c = getchar()) != EOF && c != '/n'; ++i)s[i] = c;if(c == '/n'){s[i] = c;++i;}s[i] = '/0';        fflush(stdin);//每输入一行字符后(键入'/n'之后),清空输入缓冲区。return i;}void copy(char to[], char from[]){int i;i = 0;while((to[i] = from[i]) != '/0')++i;if(i == MAXLINE-1)to[i] = '/0';}int calcLen(char s[]){int i;i = 0;while(s[i] != '/0')++i;return i;}


转载自:http://blog.csdn.net/roma823/article/details/6336895

0 0