欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用函数指针将字符串 ”hello world“ 输出为 "world hello”

程序员文章站 2022-04-24 22:40:30
通过第一个函数调用,将字符串倒序输出,将“hello world” 输出为 “dlrow olleh”;通过第二次函数调用,将第一个单词通过第一个函数调用,再次倒序,再将第二个单词通过第一个函数调用,再次倒序,最后得到“world hello”。 ......

/*************************************************************************
> file name: 指针数组2.c
> author:
> mail:
> created time: 2018年12月12日 星期三 23时46分40秒
************************************************************************/

#include<stdio.h>
void daoxu1(char *p1,char *p2)
{
for(;p1<p2;p1++,p2--)
{
*p1^=*p2;
*p2^=*p1;
*p1^=*p2;
}
}
void daoxu2(char *p3,char *p4)
{
int a=0;
char *b;
while(*p3!=' ')
{
a++;
p3++;
}
b=p3-a-1;
daoxu1(b,p3);
*p3=' ';
daoxu1(p3+1,p4);
}
int main()
{
char a[12]="hello world"; /* 目前程序仅仅支持两个单词,更改字符串时
需要更改其数组大小 */
char *p=a,*q=&a[10]; // 此处的数组下标也需要改变
daoxu1(p,q);
daoxu2(p,q);
printf("%s\n",a);
return 0;
}