用指针将字符串数组位置颠倒

代码文件:代码下载

#include <stdio.h>
#include <string.h>

void show(const char* const str);
char* Position_swap(char* const str);

int main(int argc, char* argv[])
{
	char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	printf("Before the swap:");
	show(str);
	Position_swap(str);
	printf("After  the swap:");
	show(str);
	return 0;
}
/**********************************************
*	头文件:#include <stdio.h>
*	功	能:打印字符数组信息
*	函	数:void show(char * str)
*	参	数:str字符数组首地址
*	返回值:无
**********************************************/
void show(const char* const str)
{
	int len = strlen(str);
	int i = 0;
	while (i <= len)
	{
		printf("%c",*(str + i++));
	}
	printf("\n");
}
/**********************************************
*	头文件:#include <string.h>
*	功	能:实现字符数组位子互换
*	函	数:char* Position_swap(char * str)
*	参	数:str字符数组首地址
*	返回值:str字符数组首地址
**********************************************/
char* Position_swap( char * const str)
{
	int len = strlen(str);
	int i = 0, j = len-1;
	char ch = 0;
	while (i <= j)
	{
		ch = *(str + i); 
		*(str + i) = *(str + j);
		*(str + j) = ch;
		i++;
		j--;
	}
	return str;
}
posted @ 2023-07-18 09:44  王廷胡_白嫖帝  阅读(0)  评论(0编辑  收藏  举报  来源