例:输入:i like beijing. 输出: beijing. i like
介绍一个三步反转法: 1. 先将整个字符串倒置 : .gnijieb ekil i
2. 再把每个单词倒置: beijing. like i
void reverse(char* left, char* right) // 定义函数 两个指针类型的形参分别接收左右下标
{
while (left < right) // 左下标小于右下标时,才有需要交换的字符
{
char mid = *left; // 利用一个中间变量交换
*left = *right;
*right = mid;
left++;
right--;
}
}
int main()
{
char arr[100] = { 0 }; // 不超过100
gets(arr); // 读取一行
reverse(arr,arr+strlen(arr)-1); //调用函数
printf("%s\n", arr); // 打印结果,检查函数是否正确再继续往下,最后删掉
char* start = arr; // 定义一个左下标
while (*start != ' ' && *start != '\0')
{
char* end = start; // 定义一个下标,从左下标开始,让这个end往后走,去找每个单词的结尾
for(end=start;;end++)
{
if