实现字符串以单词为单位进行逆置输出

这篇博客展示了如何使用C语言中的字符位运算实现字符串的逐字符翻转。通过`gets()`获取输入字符串,`strlen()`计算长度,然后使用`^`运算符交换字符位置。最后,`dz()`函数完成整个过程并输出结果。
摘要由CSDN通过智能技术生成

#include <stdio.h>
#include <string.h>
char* dz();
int main(int argc, const char *argv[])
{
    char arr[30]="";
    gets(arr);
    int   len=strlen(arr);
    char *end=arr+len-1;
    dz(arr,end);
    end=arr;
    char* star=arr;
    while(*end){
        if(*end!=' '){
        }else{
            dz(star,end-1);
            star=end+1;
        }
        end++;
    }
    dz(star,end-1);//当指针指向'\0'的地址时,会跳出while循环,此时需单独调用一次dz函数。来保证最后一个单词的翻转。
    puts(arr);
    return 0;
}
char *dz(char *star,char *end){
    while(end>star){
        *star=*star^*end;
        *end=*star^*end;
        *star=*star^*end;
        star++;
        end--;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值