首页 > 学院 > 开发设计 > 正文

实现字符串反转的函数

2019-11-06 07:09:06
字体:
来源:转载
供稿:网友

给定字符串“Hello World”,反序输出“dlroW olleH”。 1、char * strReversed_1(char * dest, char * str)

char * strReversed_1(char * dest, char * str){ unsigned int i, j; if (dest == NULL || str == NULL) { return NULL; } unsigned int len = strlen(str); for (i = 0, j = 0; i < len; i++, j++) { dest[j] = str[len - i - 1]; } dest[j] = '/0'; return dest;}

2、char * strReversed_2(char * str)

char * strReversed_2(char * str){ unsigned int i; if (str == NULL) { return NULL; } unsigned int len = strlen(str); char tem; for (i = 0; i < len / 2; i++) { tem = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = tem; } return str;}

3、char * strReversed_3(char * str)

char * strReversed_3(char * str){ unsigned int i; if (str == NULL) { return NULL; } unsigned int len = strlen(str); char * temp = str + len - 1; char tem; for (i = 0; i < len / 2; i++) { tem = *str; *str = *temp; *temp = tem; *str++; *temp--; } return str - len / 2;}

验证程序:

#include <stdio.h>#include <string.h>#define MAX_LEN 64int main(){ char strScr[MAX_LEN] = "Hello World"; char strDest[MAX_LEN]; PRintf("%s/n", strReversed_1(strDest, strScr)); printf("%s/n", strReversed_2(strDest)); printf("%s/n", strReversed_3(strDest)); return 0;}

输出结果: 这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表