读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。

#include <stdio.h>
#include <string.h>
/*读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,
大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1*/
int main() {
    char str[100];
    gets(str); // 读取输入的字符串,scanf
    int len = strlen(str);
    /*strlen函数求的是字符串的实际长度,从开始到遇到第一个'\0',
    如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,
    直到遇到'\0'停止。*/
    char reverse[len+1]; // 创建一个新的字符数组来存储逆转后的字符串
    for (int i = 0; i < len; i++) {
        reverse[i] = str[len-1-i]; // 逆转字符串
    }
    reverse[len] = '\0'; // 在逆转后的字符串末尾添加空字符
    int result = strcmp(str, reverse); // 比较原始字符串和逆转后的字符串
    if (result == 0) {
        printf("0"); // 如果相同,输出0
    } else if (result < 0) {
        printf("-1"); // 如果原字符串小于逆转后字符串,输出-1
    } else {
        printf("1"); // 如果原字符串大于逆转后字符串,输出1
    }
    return 0;
}

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值