Linux下实现反转一个字符串或者数组中的数据

来源:互联网 发布:做淘宝客怎么拉人 编辑:程序博客网 时间:2024/05/01 22:52

 

 

//reverse.c

/*************************************************************    FileName : reverse.c     FileFunc : 反转一个字符串或者数组中的数据      Version  : V0.1      Author   : Sunrier      Date     : 2012-07-05 11:26:42     Descp    : Linux下实现反转一个字符串或者数组中的数据 *************************************************************/#include <stdio.h>#include <string.h>/*字符串*/unsigned char reverse(unsigned char *pucStr)  {  unsigned int uiI,uiJ,uiLen=0;uiLen = strlen(pucStr);if( 0==uiLen )return 1;  for( uiI = 0 , uiJ = uiLen - 1 ; uiI < uiJ ; uiI++ , uiJ--)  {/*pucStr[uiI] ^= pucStr[uiJ] ^= pucStr[uiI] ^= pucStr[uiJ];*/ /*直接使用这一句有些机器上出现bug*/ pucStr[uiI] ^= pucStr[uiJ];pucStr[uiJ] ^= pucStr[uiI];pucStr[uiI] ^= pucStr[uiJ];}return 0;}    /*数组*/   unsigned char reverse_ex(unsigned int *puiStr,unsigned int uiLen)  {  unsigned int uiI,uiJ; if( 0==uiLen )return 1; for( uiI = 0 , uiJ = uiLen - 1 ; uiI < uiJ ; uiI++ , uiJ--)  {/*puiStr[uiI] ^= puiStr[uiJ] ^= puiStr[uiI] ^= puiStr[uiJ];*/  puiStr[uiI] ^= puiStr[uiJ];puiStr[uiJ] ^= puiStr[uiI];puiStr[uiI] ^= puiStr[uiJ];}return 0;}