①递归实现
#define _CRT_SECURE_NO_WARNINGS 1;
#include<stdio.h>
int stringlength(char* str)
{
int count = 0;
while ((*str)!='\0')
{
count++;
str++;
}
return count;
}
void reverse_string(char* string)
{
int length = stringlength(string)-1;
char temp = *string;
*string = *(string + length);
*(string + length) = '\0';
if (stringlength(string) >= 2)
{
reverse_string(string + 1);
}
*(string + length) = temp;
}
int main()
{
char arr[] = "";
scanf("%s", arr);
reverse_string(arr);
printf("%s", arr);
return 0;
}
②
#define _CRT_SECURE_NO_WARNINGS 1;
#include<stdio.h>
int stringlength(char* str)
{
int count=0;
while ((*str) != '\0')
{
str++;
count++;
}
return count;
}
void reverse_char(char* string)
{
int left = 0;
int right = stringlength(string) - 1;
while (left<right)
{
int temp = *(string + left);
*(string + left) = *(string + right);
*(string + right) = temp;
left++;
right--;
}
}
int main()
{
char arr[] = "";
scanf("%s", arr);
reverse_char(arr);
printf("%s", arr);
return 0;
}
【C语言】翻转数组中的字符串
最新推荐文章于 2023-07-30 14:21:40 发布