c操作翻转字符串

 

 

#include<stdio.h>

#include<malloc.h>

#include<string.h>

 

/*

* 翻转

*/

char *mystrrev(char *arr)

{

if (!arr)

{

return NULL;

}

char *temp = arr;

char t;

int leng = strlen(arr) + 1;

int l = (int)(leng / 2);

int i = 0;

while (l--)

{

t = arr[i];

arr[i] = arr[leng - 2];

arr[leng - 2] = t;

i++;

leng--;

}

 

return temp;

}

 

/*

*截取单个词汇

*/

char *myrev(char *string)

{

if (!string)

{

return NULL;

}

char *temp1 = (char *)malloc(strlen(string) + 1);

char *temp2 = (char *)malloc(strlen(string) + 1);

char *temp3 = NULL;

*temp2 = '/0';

 

int i = 0;

for (int j=strlen(string); j>=0; --j)

{

temp1[i] = *string;

 

if (temp1[i] == ' ' || *(string) == '/0')

{

if (!temp3)

{

free(temp3);

temp3 = NULL;

}

temp3 = (char *)malloc(i);

temp1[i] = '/0';

i = 0;

strcpy(temp3, temp1);

strcat(temp2, mystrrev(temp3));

strcat(temp2, " ");

i = -1;

}

 

i++;

string++;

}

 

if (!temp1)

{

free(temp1);

temp1 = NULL;

}

 

if (!temp3)

{

free(temp3);

temp3 = NULL;

}

return temp2;

}

 

 

int main(int argc, char *argv[])

{

char *src = "Today is a good day";

char *s = "abcd_*__abcd";

 

char *temp = myrev(src);

char *temp1 = myrev(s);

 

printf("%s/n", temp);

printf("%s/n", temp1);

 

return 0;

}

 

 

结果:

 

yadoT si a doog yad

dcba__*_dcba

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值