#include<iostream>
using namespace std;

void reverseString(char str[], int left, int right)
{
	int i = left;
	int j = right;
	char tmp;
	while(i < j)
	{
		tmp = str[i];
		str[i] = str[j];
		str[j] = tmp;
		
		// 用while时一定要注意循环体中的自增或自减
		i++;
		j--;
	}
}

// 向左循环移动distance位
void leftLoopShift(char str[], int distance)
{
	int length = strlen(str);
	reverseString(str, 0, length - 1);
	reverseString(str, 0, length - distance - 1);
	reverseString(str, length - distance, length - 1);
}

int main()
{
	char str[] = "1234567";
	int distance = 2;
	leftLoopShift(str, distance);
	cout << str << endl;

	return 0;
}


本文转载:CSDN博客