练习3-1&&3-2

3-1这个练习感觉没什么意义,当时我也想到过,思路就是判断是x的值与v[]数组中间元素那个值是大了还是小了如果相等则结束循环,然后在循环外将结果返回。
全当扩展思路了。

3-2第一个目的挺好实现的,循环递增数组i(for (i - j = 0; t[i] != '\0'; i++))然后判断当前的元素(switch(t[i])) 如果是换行符(case ‘\n’) 则将\n这个换行符拆分放入数组j中(s[j++] = '\' s[j++] = 'n')“\”是因为\是转义字符会把后面的'转换成普通字符,要想单纯的表示“\”就需要将这个单斜杠转义所以就要“\”,后面的“\t”同理。
之后就是将当前数组i中的元素复制到数组j中(s[j++] = t[i])。最后给数组j加上一个'\0'用以表示数组结束。
这个有个概念是用单个字符要用‘’单引号,用“”双引号就是字符串不等价于单个字符。

至于第二个目的了解了第一个目的之后也是挺好实现的,但是当时我对于字符和字符串是发懵的,以至于我知道应该怎么去实现,但是实际操作却操作不出来。
依然是将数组循环递增,然后判断数组的当前元素是否为‘\’如果不是则讲当前字符复制到数组s中,如果是则判断下一个字符是否是‘n’或者‘t’,如果是则将其对应的转义字符加入到数组s中。最后的defalut部分湿处理跟在反斜杠或的其他字符,因为题目并没有要求将其他字符转义,所以将其完整输出,就是两个反斜杠加一个当前字符就好了。

另一个解法的思路是一样的。但是实现方式不一样。同样是递增数组i,然后判断当前字符,如果是反斜杠则继续向下判断,是否为‘n’或者‘t’,如果是则执行相应的操作,如果不是,将其完整输出。

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,207评论 0 13
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,007评论 0 11
  • ab3253a39004阅读 578评论 0 51
  • Neutron做为Openstack的网络组件,其内部所有功能均是以plugin形式实现的,其中极具代表性的plu...
    JonahCui阅读 4,145评论 0 3
  • 家书 家人们 大家晚上好 欢迎新家人的加入和分享,家人们在台上分享这三天的学习感受,给我的感触也很深,仿...
    徐绍刚阅读 281评论 0 0