字符串改错题(找出代码中所有错误,将一个字符串倒序)

#include "string.h" 
main()
{
	char *pSrc = "hello,world";
	char *pDest =NULL;	
	int iLen= strlen(pSrc);
	pDest = (char*)malloc(iLen);
	char *pD = pDest;
	char* pS = pSrc[iLen]; 
	while(iLen--!=0)
	{
		pD++ = pS--;
	}
	printf("%s", pDest);
	return 0;	
}

字符串改错题(找出代码中所有错误,将一个字符串倒序)_第1张图片
在使用 malloc() 分配内存后,还需要使用 free() 函数释放内存,以避免内存泄漏问题

改正后的代码:

#include 
#include 
#include 

int main()
{
	char *pSrc = "hello,world";
	char *pDest = NULL;
	int iLen = strlen(pSrc);
	pDest = (char*)malloc(iLen + 1);

	char *pD = pDest;
	char *pS = pSrc + iLen - 1;

	while (iLen-- != 0)
	{
		*pD++ = *pS--;
	}
	*pD = '\0';

	printf("%s", pDest);

	free(pDest);

	return 0;
}

字符串改错题(找出代码中所有错误,将一个字符串倒序)_第2张图片
字符串改错题(找出代码中所有错误,将一个字符串倒序)_第3张图片

你可能感兴趣的:(C++,c++)