首页 > 编程语言 > 详细

字符数组内容的逆序

时间:2016-04-12 07:50:21      阅读:330      评论:0      收藏:0      [点我收藏+]
//有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".
//要求:
//不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
//
 
#include <stdio.h>
#include <string.h>
void fanw(char *left, char *right) //把每个单词单词翻转
{
 char* pleft = left;
 char* pright = right;
 char temp;
 while (pleft < pright)
 {
  temp = *pleft;
  *pleft = *pright;
  *pright = temp;
  pleft++;
  pright--;
 }
}
void fans(char *p)              //把翻转后的单词再翻转 
{
 while (*p != ‘\0‘)
 {
  char *pst = p;
  while (*p != ‘\0‘ && *p != ‘ ‘)
  {
   p++;
  }
  fanw(pst, p - 1);
  p++;
 }
}
int main()
{
 char p[30] = "student a am i";
 int len = strlen(p);
 printf("原字符串为 : %s\n", p);
 printf("翻转后的字符串为 :");
 fanw(p, p + len - 1);
 fans(p);
 printf("%s\n", p);
 return 0;
}


字符数组内容的逆序

原文:http://10706198.blog.51cto.com/10696198/1762719

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!