用C语言实现字符串的逆置
2023-12-13 04:02:54
?第一种方法:
????????用指针像交换两个数一样,创建一个临时变量,从而实现字符串的逆置!
void Reverse(char* str)
{
char* left = str;//指向字符串数组的左指针
char* right = str + strlen(str) - 1;//指向字符串数组的右指针,因为数组下标是从0开始的,因此要减一
while (left < right)//两个指针分别从两头开始遍历,只要当右指针小于左指针后,说明已经遍历完了
{
char temp = *left;//跟交换两个数一样,创建一个临时变量用来存放字符
*left = *right;
*right = temp;
++left;//左指针往后移
--right;//右指针往前移
}
}
#include<stdio.h>
int main()
{
char str[100] = { 0 };//这里我们创建了一个字符串数组
while (gets(str))
{
Reverse(str);
printf("%s\n", str);
}
return 0;
}
第二种方法:
? ? ? ? 直接将字符串数组里的内容倒叙输出就行
#include<stdio.h>
int main()
{
char str[100];
gets(str);
for (int i = strlen(str) - 1; i >= 0; i--)
{
printf("%c", str[i]);
}
}
当然上面这种方法用了一个内置函数gets(),那么下面用一种没的的形式展现出来:
#include <stdio.h>
#include <string.h>
int main()
{
char arr[100];
scanf("%s", arr);
printf("%d\n",len);
for (int i = len - 1; i >= 0; i--) //因为数组下标是从0开始的
{
printf("%c", arr[i]);
}
printf("\n");
return 0;
}
还可以用循环的方法输入字符串,具体怎么实现交给大家自己摸索了吧!
文章来源:https://blog.csdn.net/2301_80002696/article/details/134955964
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!