反转字符并且比较

这篇博客探讨了在处理字符串时如何反转字符,并对比了gets与fgets两个函数的差异。在处理包含空格的输入时,作者建议使用gets而非scanf。同时指出fgets会将换行符' '存入字符数组,需要额外处理。为了解决没有结束符的问题,文中提出在循环结束时用''作为字符串的停止符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
先分析 首先含有空格 所以我们不用scanf 使用gets
再来说说 gets与 fgets的区别
这是gets
Fgets
会把/n放到字符数组中
在这里插入图片描述
那怎么样能够去掉\n呢
在这里插入图片描述
在这里插入图片描述
出现许多烫烫烫 没有停止符
定义d[j]=‘\0’ 因为d[j]刚好出循环的时候为5
在这里输入一个停止符 \0就ok

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main() {
	int i, j;
	char c[100],d[100];
	gets(c);
	//fgets(c,sizeof(c),stdin);//会把/n放到字符数组中
	//int len = strlen(c);
	//c[len - 1] = '\0';
	//puts(c);
	for (i = strlen(c) - 1, j = 0; i >= 0; i--, j++)//字符串反转 
	{
		d[j] = c[i];
	}
	d[j] = '\0';
	//puts(d);//得到的d对不对
	int result= strcmp(c,d);//定义一个东西来接它
	if (result < 0) {
		printf("%d\n",-1);
	}
	else if(result>0){
		printf("%d\n",1);
	}
	else {
		printf("%d\n", 0);
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值