这个reverse函数跟书上说的一样。
while(s[i] != ‘\0’)
++i;
先找到字符串的末尾,到‘\0’的时候就可以认为是字符串的末尾,
如果到‘\0’了就--i,然后就倒退一个位置然后判断是否是换行符,如果是再倒退一个位置。
然后就是颠倒字符,先把字符串第一个字符的值导出去,定义一个变量temp,把第一个字符导入temp里,现在这个变量temp就是字符串的第一个字符,然后再把字符串最后一个字符(不是换行符和‘\0’)导给到字符串的第一个字符,然后再把存在temp变量里的字符导入字符串最后的那个位置。然后i退后一个位置。j前进一个位置。重复本操作。
知道j >=i为止全部颠倒完毕这事字符串的最后依然是‘\n’然后是‘\0’因为之前已经把他们空出来了。
网友评论