字符串倒序显示!

756阅读 0评论2011-06-26 awool_cu
分类:C/C++

  1. /*=========================================
  2. 功能描述:输入任何字符串,并计算出这个字符串
  3.              的字符数,并倒序显示这个字符串
  4. 所用函数:charReverseOrder()
  5. 返回值: 有,返回倒序字符串的地址
  6. =========================================*/

  7. #include

  8. main()
  9. {
  10.     char *charReverseOrder(char *string);
  11.     char *str;
  12.     char *re_char;

  13.     printf("\nPlease a character string: ");
  14.     scanf("%s",str);
  15.     re_char=charReverseOrder(str);

  16.     printf("\nReverse_string = %s",re_char);
  17.     getch();
  18. }

  19. char *charReverseOrder(char *string)
  20. {
  21.     int i,n;
  22.     char *strBuf;

  23.     n=strlen(string);

  24.     strBuf=(char *)malloc(n);
  25.     string=string+n;

  26.     for(i=0;i {
  27.         *(strBuf+i)=*--string;
  28.     }
  29.     printf("\nThe total of Character is: %d\n",i);
  30.     *(strBuf+i)='\0';

  31.     return strBuf;
  32. }

  33. -------------------------------------- 美丽分割线 ----------------------------------------

  34. #include <stdio.h>
  35. void revstr(char *s) //将字符串s反向
  36. {
  37.  char *p=s,c;
  38.  while(*p) //找到串结束标记'\0'
  39.   p++;
  40.  p--;
  41.  //指针回退一个字符,保证反向后的字符串有串结束标记'\0'
  42.  //指针p指向串中最后
  43.  //一个字符
  44.  while(s<p)//当串前面的指针s小于串后面的指针p的时候,进行循环
  45.  {
  46.   c=*s; //交换两个指针所指向的字符,先将指针s指向的字符存入变量c
  47.   *s++=*p;//把指针p指向的字符赋给指针s指向的字符,
  48.       // 然后将指针s向后移动1位
  49.   *p--=c;//将c中存放的字符赋给指针p指向的地址,
  50.       //然后将指针p向前移动1位
  51.  }
  52. }
  53. void main()
  54. {
  55.  char a[50];
  56.  printf("Please input the string:");
  57.  scanf("%s",a); //输入字符串
  58.  revstr(a);//将该字符串反向
  59.  printf("%s",a);//输出反向后的字符串
  60. }
上一篇:变参函数学习笔记!
下一篇:C语言环境下,实时时间的显示!