例.倒序输出英文字符串,但是英文单词的顺序还是正的。比如输入“I come from Shanghai”,应输出“Shanghai from come I”。
整体思路是,用一个指针数组存放每个单词首字母地址,在用一个数组存放每个单词的长度。最后倒序输出单词即可。本质是读取源字符串的地址输出。有的同学也把单词放到一个二维数组中。老师提供的思路是写一个函数,其参数是出入首字符的地址,和要倒序的长度,首先调用这个函数将整个句子倒序(包括单词),在调用函数对单个单词倒序,这样单词就是正的了。
主要是while循环语句的逻辑结构要搞清楚,m和n什么时候要+1,什么条件时要退出循环。
特别是
第26行:不能缺少 !=‘\0’ 的条件,因为指针走到最后就不是空格是 \0 了。
第41行:如何调用指针输出。
例.输出字符串中连续数字最长的序列,和它的长度。比如输入“an32425d43kfje342344”,应输出“342344”。
跟上一例题思路很像,还是逻辑结构要注意。
如果有两个一模一样长的数字串(且它们的长度为最长的),只会输出第一个,这个是要改进的点。
第32行:p要等于temp-max,此时temp已经是下个不是数字的字符的地址了,要减掉数字串长度才行。