编写一个C函数,将句子中的单词位置倒置,而不改变单词内部结构。
例如:输入I am from shanghai,输出shanghai from am I。
要求:使用指针交换两个变量的值。
源代码如下:
#include <stdio.h>
#include <string.h>
#define MAX 100
//利用指针交换两个变量的值
int JiaoHuan(char *p1,char *p2)
{
char temp;
while (p1 < p2)
{
temp = *p1; //*取该地址表示的内存的值
*p1++ = *p2;
*p2-- = temp;
}
return 0;
}
int Rev(char str[])
{
int len;
len = strlen(str); //求字符串长度
str[len - 1] = '\0'; //将最后的换行符换为空字符,以去除换行
len--; //字符串长度减1
char *p1 = str; //指针p1指向字符串首
char *p2 = str + len - 1; //指针p2指向字符串尾
char *p3 = str; 指针p1指向字符串首
Jiao