字符串---翻转(1)

        需要编写函数实现将字符串翻转的功能。

#include<stdio.h>
#define NUL '\0'

/*****************************************************************
*函数名:reverse_string
*函数参数:str-指向需要进行翻转的字符串的指针
*函数功能描述:将所给的字符串进行翻转
*函数返回值:无返回值
*作者:王赋睿
*函数创建日期:2018.6.4
*函数修改日期:尚未修改
*修改人:尚未修改
*修改原因:尚未修改
*版本:1.0
*历史版本:无
*****************************************************************/
void reverse_string(char *str) {
	
	//判空操作,如果指针为空的话,避免程序崩溃。
	if (NULL == str)return;
	char *last_char;
	
	//把last_char设置为指向字符串中的最后一个字符。
	for (last_char = str; *last_char != NUL; last_char++)
		;
	last_char--;
	
	/*
	**交换str和last_char指向的字符,
	**然后str前进一步,last_char后退一步,
	**在两个指针相遇或插肩而过之前重复这个过程。
	*/
	char tmp;
	while (str < last_char) {

		tmp = *str;
		*str++ = *last_char;
		*last_char-- = tmp;
	}
}

int main() {
	char str[] = "I like it";
	reverse_string(str);
	printf("%s\n", str);
	return 0;
}

本程序在VS2017下运行通过

猜你喜欢

转载自blog.csdn.net/qq_41822235/article/details/80573509