#include <stdio.h>

#define		MAXLINE		10

int 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;
else
index = 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]);
else
printf("%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

《c程序设计语言》读书笔记--字符串复制的更多相关文章

  1. 《c程序设计语言》读书笔记--字符串比较

    举例如下: char a[10]; 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如  char a[10];  a[10]= ...

  2. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  3. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  4. C语言学习笔记--字符串

    字符串是有序字符的集合,C 语言中没有字符串的概念,而是通过特殊的字符数组模拟字符串,是以'\0'结尾的字符数组. 1.字符数组与字符串 (1)在 C 语言中,字双引号引用的单个或多个字符是一种特殊的 ...

  5. 《PHP程序设计》读书笔记

    好久没有更新过我的博客了,主要前一阵子去了实习,现在实习进入尾声,终于有机会看看书了. 在前一阵子的实习中,用到最多就是PHP的CI框架和Jquery,所以现在再看一本有关PHP的书籍来深刻认识一下P ...

  6. 《JavaScript高级程序设计》读书笔记

    Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript组成部分: 语法.类型.语句.关键字.保留子.操作符.对象. ...

  7. 《JavaScript高级程序设计》读书笔记 ---Array 类型

    除了Object 之外,Array 类型恐怕是ECMAScript 中最常用的类型了.而且,ECMAScript 中的数组与其他多数语言中的数组有着相当大的区别.虽然ECMAScript 数组与其他语 ...

  8. 《JavaScript高级程序设计》读书笔记 ---基本类型和引用类型的值

    变量.作用域和内存问题 基本类型和引用类型的值ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象.在 ...

  9. JavaScript高级程序设计(读书笔记)(一)

    本笔记汇总了作者认为“JavaScript高级程序设计”这本书的前七章知识重点,仅供参考. 第一章 JavaScript简介 JavaScript发展简史: 1995年,JavaScript诞生 19 ...

随机推荐

  1. 【CentOS】Eclipse插件egit使用

    1.简介 2.安装 3.配置 4.使用 5.补充说明   参考资料: http://yufenfei.iteye.com/blog/1750124    1.简介     EGit就是一款Eclips ...

  2. objc swift 混编

    原链接:http://blog.csdn.net/xuanwenchao/article/details/30226823 在xocde6出来我们大部分代码都是用objective-c写的(部分C/C ...

  3. 使用Provider时提示:Unable to get provider...

    具体原因还不清楚,只是找到了原因: 这是因为自定义的Provider放的包路径不对,自定义的Provider应该放到和MainActivity同一个包中.

  4. XSS的原理分析与解剖(一)

    0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...

  5. Linux 配置网络

    1.vi  /etc/sysconfig/network-scripts/ifcfg-eth0 2. # Advanced Micro Devices [AMD] 79c970 [PCnet32 LA ...

  6. 输入格式--InputFormat和InputSplit

    1)InputFormat的类图: InputFormat 直接子类有三个:DBInputFormat.DelegatingInputFormat和FileInputFormat,分别表示输入文件的来 ...

  7. js调试-定位到函数所在文件位置

    原文:http://www.cnblogs.com/52cik/p/js-console-show-source.html 在控制台输入要查找的函数名如votePost 然后回车: 函数源码粗显啦,并 ...

  8. sql Server2005 master损坏处理

    一.准备条件 a)         假设Master 数据库Hung:关闭SQL Server 服务(关闭MSSQLSERVER,SQL Server Agent其他的没有影响),然后剪切C:/Pro ...

  9. http status 汇总

    http status 汇总 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redir ...

  10. iOS多线程的初步研究(六)-- NSOperation

    iOS平台提供更高级的并发(异步)调用接口,让你可以集中精力去设计需完成的任务代码,避免去写与程序逻辑无关的线程生成.运行等管理代码.当然实质上是这些接口隐含生成线程和管理线程的运行,从而更加简洁地实 ...