c实现功能(2)汉字逆置

#include <stdio.h>

int main() {
	char str[10] = "你好啊";

	//获得数组的长度
	int len = 0;
	while (str[len++]);
	len--;

	//由于汉字是两个字节,所以要分开进行置换
	int min = 0;
	int max = len - 1;
	while (min < max) {
		int temp = str[min];
		str[min] = str[max - 1];
		str[max - 1] = temp;

		temp = str[min + 1];
		str[min + 1] = str[max];
		str[max] = str[min + 1];

		min += 2;
		max -= 2;
	}

	printf("%s\n", str);

	return 0;
}

但是如果其中包含了字母,实现逆置就要进行判断

	char str[100] = "你好啊abc";

	//获得数组的长度
	int len = 0;
	int i = 0;
	while (str[i]) {
		if (str[i] < 0) {
			i++;
		}
		i++;
		len++;
	}

猜你喜欢

转载自blog.csdn.net/hc1151310108/article/details/82861852