面试笔试中最经常出现的题目:
题目:把一个字符串倒序
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
int main(void)
{
char* src = "abcd123";
int len = strlen(src);
char* dest = (char*)malloc(len+1); //!< 为存储分配空间
printf("长度为:%d\n",len); //!< 算出长度的大小
char* cstr = &src[len-1]; //!< 将src的最后一个地址传给cstr;
char* last = dest;
while(len-- != 0)
{
printf("%c ",*cstr);
*last++ = *cstr--;
}
*last = '\0';
/**last = 0;
last[len] = '\0';*/ //!< 三种方法都可以
printf("转换完的数据为:%s",dest);
free(dest); //!< 使用完,应当释放空间,以免造成内存汇泄露
dest = NULL; //!< 防止野指针
return 0;
}
运行结果:
希望上诉内容可以帮助大家学习!!!