c语言实现字符串翻转

1 介绍

        字符串翻转是c语言面试基本题中常见的,c语言翻转的实现思路一般是取出来重排,或者前后字符串中的字符对调,那么一般前后字符的对调效率比较高。这里实现前后对调的方法。

        对字符串翻转的实现一般第一步需要知道字符串的长度(strlen(str),然后对字符串进行前后遍历。

2 字符串判空

        字符串判断是否为空的标志:

'\0'是 ASCII 码表中的第 0 个字符,英文称为 NULL,中文称为“空字符”。

该字符既不能显示,也没有控制功能,输出该字符不会有任何效果,它在C语言中唯一的作用就是作为字符串结束标志。

        因此利用此标志位可以实现对字符串的长度的获得。

        如下:

int com_len(char * str)

{

        int len = 0;

        while (*str != NULL)

        {

                len++;

                str++;

        }

        printf("len: %d \n",len);

        return len;

}

3 实现如下

        如下是一个完整的代码,输入一个”Hello World!“,返回翻转后的字符串。

#include

#include

void str_reverse(char *str)

{

int len = strlen(str);

char *start = str;

char *end = str + len - 1;

if ((len == 0) || (len == 1))

{

str = str;

return;

}

char str_temp;

while (start < end)

{

str_temp = *start;

*start = *end;

*end = str_temp;

start++;

end--;


 

}

}



 

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

{


 

char str_in[] = "Hello World!";

str_reverse(str_in);

printf("str_reverse: %s \n",str_in);

return 0;



 

}

你可能感兴趣的:(C++精进之路,c语言,开发语言,c++)