编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。

  1. 给定字符串,代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

char* reverse_string(char *str)
{
	assert(str != NULL);
	if (*str != '\0')
	{
		str++;
		reverse_string(str);
		printf("%c", *(str - 1));
	}
	return str;
}

int main()
{
	char arr[] = "abcdef";
	char* ret = reverse_string(arr);
	system("pause");
	return 0;
}

2.输入字符串,代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#pragma warning(disable:4996)
void reversePrint(char *str)
{
	if (*str == '\0')
	{
		return;
	}
	reversePrint(str + 1);
	printf("%c ", *str);
}
int main()
{
	char arr[10] = { 0 };
	printf("请输入一行字符串: ");
	scanf("%s", arr);
	reversePrint(arr);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43857558/article/details/84959978
今日推荐