逆置字符串

逆置字符串是将字符串所有字符前后颠倒,有比较常见的两种思路,第一种是生成两个分别指向头和尾的指针,遍历字符串交换头尾指针,然后对头尾指针向字符串中间移动,最终得出交换结果。另外一种思路则是后续递归的方式。以字符串结束\0为递归终止条件,再调用自身函数后打印每一个字符即可逆置显示一个字符串。

void reverse(char *pStr)
{
	// 递归的终止条件,到字符串结尾\0跳出
	if (*pStr == '\0') return;
	// 递归,对pStr指针向后移动一位
	reverse(pStr + 1);
	// 打印当前指向的字符
	putchar(*pStr);
}
 
int main(int argc, char *argv[])
{
	reverse("my name is dengjia");
	system("pause");
	return 0;
}

发表评论