练习5-12

主函数的分工还是和之前一样.
esettab函数制定对照表.
entab负责将输出与对照表对照并输出.
这个练习跟之前的11没什么太大变化.
esettab函数中
首先判断argc也就是参数数量.
如果是1,那么参数为默认.则
在tab数组中将每隔TABINC的位置的元素设置为制表符终止位的位置(YES).
其余全是正常位置(NO).
否则判断,argc(参数数量)是否等于3,第一个参数是否是负号-开头,第二个参数是否是正号+开头.(正常情况)如果是则执行下列语句.
读取第一个参数的数值,这里有个地方就是那个&(++argv)[1].
这里圆括号()和[]数组下标是同级的按从左到右计算,argv是指针数组,第0个元素是程序名,++argv就是第一个参数的字符串数组.然后
取值,数组下标1就是第一个参数数组的第二个元素.然后用&取址运算符取址将地址传给atoi函数.atoi会自动获取它之后的数字.,然后将这个数字赋值给变量pos.
下面的inc同理.
参数的值都读完后.根据值进行tab数组的初始化.将相应位置设置成制表符终止位.
上述都不满足则执行下列语句.
首先将tab数组全部设置成NO.
然后判断参数是否大于1.
如果是,将参数的值atoi(*++argv)赋值给pos.
然后判断pos是否合法.
最后将相应位置设置成制表符终止位.

后面那个就是改成了detab/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,814评论 3 44
  • 这习题TM一个比一个长.这个虽然挺长但是还是比较简单的捋就从头捋,在main里按顺序看.刚开始的argc参数数量,...
    Hy_Slin阅读 1,150评论 0 0
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,744评论 0 38
  • 昨天和同事聊天,她说她前男友的妹妹大学毕业后和高中同学在一起了……我去,这人物关系还可以再复杂点吗?我努力分析她想...
    芳宝落落阅读 5,241评论 28 33