C语言笔试题(7)——实现字符串的翻转

来源:互联网 发布:网络统考英语包过 编辑:程序博客网 时间:2024/04/30 03:42

实现字符串翻转有两种方法可以使用:

1、传参只有一个,即待翻转的字符串;

#include <stdio.h>char *reverse_string(char *string){char *new_string = string;char temp;char *s1 = string;while(*new_string++)                ;         new_string -= 2;while(string < new_string){temp = *string;*string++ = *new_string;*new_string-- = temp;}return s1;}int main(void){char string[] = "ABCDEFG";char *s1;s1 = reverse_string(string);printf("%s\n", s1);return 0;}

2、传参有两个,一个是待翻转的字符串,一个是字符串长度

char *reserve_str(char *str, unsigned int len){    char *top = str;    char *end = str + len - 1;    char ch;    while (top < end)    {        ch = *top;        *top++ = *end;        *end-- = ch;    }    return str;}int main(int argc, const char *argv[]){    char str[] = "123456789";    printf("%s\n", reserve_str(str, sizeof(str) - 1));    return 0;}


原创粉丝点击