美文网首页
练习5-14

练习5-14

作者: Hy_Slin | 来源:发表于2018-02-11 14:06 被阅读0次

定义的那几个函数在教材那本书上有,也没什么难度.
(我是重新去看的,发现没什么卵用,对这里没什么帮助.)
先进入主函数.
这里的最外层while与前一个练习一样,都是自增argv找到负号-.然后进行判断,这里的判断允许省略负号,可以一个负号带两个参数.
这里的做法后面有写,就是将option的二进制位第零位和第一位的值修改,判断哪个位为真(1),就执行哪个操作.
如果遇到不是正确参数的情况,将argc设置成1,并将rc设置成-1.退出后不能继续循环.程序向下走.
如果有问题的话之前的循环体会将argc设置成1,因为非零为真,所以会执行那条错误语句.
正确的情况下argc是会自减到0的因为循环体上argc是前自减.会执行else后面的语句,首先readlines函数将读取的输入行首字符的地址都保存到指针数组lineptr中,然后将读取的输入行数量赋值给nlines.然后就是进行条件判断,判断输入的参数.
首先就是先判断用哪种排序方式排序(字符或者数值),option对NUMERIC进行按位与操作,相同位是1则结果为1,宏定义NUMERIC为1,所以如果option在之前的参数判定中为被设置第零位为1的话,那么结果也将为1.那么将用numcm函数去进行排序.否则将用strcmp函数.
然后是输出是按正序输出还是倒序输出.判断依据则是option与DECR的按位与结果.
C语言中非0即为真,所以writelines函数中,宏定义DECR为2第一位为1(右数第二位)其余位为0.option对其按位与,同位为1则为1.所以其结果可用于进行判断式判断.

相关文章

  • 练习5-14

    定义的那几个函数在教材那本书上有,也没什么难度.(我是重新去看的,发现没什么卵用,对这里没什么帮助.)先进入主函数...

  • 5-14

    71.2kg 早饭:一块面包,一盒脱脂奶,一个桃。 午饭:一碗米饭,一份西红柿炒鸡蛋,三个自制小糖包。 上午十点,...

  • 5-14

    今天,报告自己做的事情时,发音不好,但是我不放弃自己,努力练习。加油。还有,今天听到档案的事情,哎,心还是难受,压...

  • 5-14

    突然想起这句歌词:三分天注定、七分靠打拼。那另外九十分是啥? 【一悟】平行世界 目标人群:类似我这种文青:愿意利用...

  • 5-14

    在当今的社会里,只有精力充沛才能干更多的事情,那如何保持这种旺盛的精力哪? 通常要做到以下三点: 1、保持足够的睡...

  • 5-14

    近期雨水很充足,都说佛山广州会下大暴雨,学校都停课三天了,持续大雨倒是没有,间断性的大雨下了几次,时间不长,小雨还...

  • 练习5-15

    开头的宏定义FOLD跟之前的那两个没什么区别,依旧是通过二进制位的判断进行操作.后面的主函数部分与练习5-14基本...

  • 成功日记 2017-11-20

    2017-11- 20 7:42 5-14·c cloud 24:00 go to sleep , ...

  • 成功日志 2017-12-24

    2017-12-24 16:42 5-14·c fine 20:00 go to sleep 8:00 ...

  • 5-14沉默

    不晓得说什么…… 昨天加班到九点,很烦,今天也没能正常下班,每次只剩我一个的时候就特别想辞职…… 中午自己吃的,吃...

网友评论

      本文标题:练习5-14

      本文链接:https://www.haomeiwen.com/subject/yluyhxtx.html