依然是同样的套路.宏定义多添加了一个DIR(二进制为00001000).
主函数依然没什么差别,添加了关于参数d的相关代码.
while循环判断式判断是否还有参数.并且判断参数字符串首字符是否是-号.
然后循环体中的while判断式对-号之后的字符进行判断.
switch多路判定,判断参数是否为d.
如果为d.
option对DIR进行按位或操作.
将option的第三为设置为1.
后面的与前一章练习一样.
新增加的这个参数加到了charcmp函数里.
option是外部变量,所以能这么调用.
首先对判断变量进行赋值.
将option与FOLD和DIR分别进行按位与操作.如果非0则将变量赋值为1,如果是0,则赋值为.
然后是do.while循环体.
然后判断dir参数,如果为真,将跳过不是数字,不是字母,不是空格,不是空字符的字符.
然后就是判断fold参数,是否需要转换成小写字符后再进行比较.然后返回比较结果.
网友评论