字符串-----逆序打印

方法一:求出字符串长度,反向遍历即可

#include <stdio.h>
#include <string.h>
#define MAXSIZE 1024

void ReversePrint(char *s)
{
	int len = strlen(s);
	for (int i = len - 1;i >= 0;--i)
		printf("%c", s[i]);
}

int main()
{
	char str[MAXSIZE];
	gets(str);
	ReversePrint(str);
	printf("\n");
	return 0;
}

方法二:不求字符串长度,先遍历到末尾,再遍历回来

#include <stdio.h>
#include <string.h>
#define MAXSIZE 1024

void ReversePrint(char *s)
{
	char *p = s;
	while (*p)
		++p;
	--p;
	while (p >= s)
	{
		printf("%c", *p);
		--p;
	}
}

int main()
{
	char str[MAXSIZE];
	gets(str);
	ReversePrint(str);
	printf("\n");
	return 0;
}

方法三:递归

#include <stdio.h>
#include <string.h>
#define MAXSIZE 1024

void ReversePrint(const char *s)
{
	if (*(s + 1) != '\0')
		ReversePrint(s + 1);
	printf("%c", *s);
}

int main()
{
	char str[MAXSIZE];
	gets(str);
	ReversePrint(str);
	printf("\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_39916039/article/details/81513948