字符串反转

题目描述

字符串反转,如将字符串 “www.runoob.com” 反转为 “moc.boonur.www”。

程序分析:先通过指针遍历字符串计算其长度,确定参与交换的字符范围,再利用循环,以对称位置(从两端向中间)的方式,借助临时变量交换对应字符,实现字符串的反转。

源代码

#include 
void reverse(char* s)
{
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }
    
    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}
 
int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

输出结果

'www.runoob.com' =>
'moc.boonur.www'

你可能感兴趣的:(C语言刷题记录,c语言,算法)