一、运行结果

二、源代码
- # define _CRT_SECURE_NO_WARNINGS
- # include
- # include
-
- //实现逆转函数;
- void reverse(char* left, char* right)
- {
- //断言left和right都不能为空;
- assert(left);
- assert(right);
-
- //循环逆转字母;
- while (left < right)
- {
- //置换;
- char tmp = *left;
- *left = *right;
- *right = tmp;
-
- //变换置换位置;
- left++;
- right--;
- }
- }
-
- int main()
- {
- //初始化变量值;
- char arr[101] = { 0 };
-
- //获取变量值;
- gets(arr);
-
- //调用逆转函数;
- int len = strlen(arr);
-
- //逆序整个字符串;
- reverse(arr, arr + len - 1);
-
- //逆序每个单词;
- char* start = arr;
-
- //循环调用函数;
- while (*start)
- {
- //初始化变量值;
- char* end = start;
-
- //循环判断是否++;
- while (*end != ' ' && *end != '\0')
- {
- end++;
- }
-
- //调用逆转函数;
- reverse(start, end - 1);
-
- //判断end是否为空;
- if (*end != '\0')
- {
- end++;
- }
-
- //跳转初始位置到下一个单词;
- start = end;
- }
-
- //打印结果;
- printf("%s\n", arr);
-
- return 0;
- }