求助:字符串反序
前些天去面试,有个面试问题,将字符串顺序颠倒。只记得CString有这样的一个函数,要自己具体写下来,有点困难
大概是有一个数组char char1[]="123456",得到“654321"
有什么好办法呢?
官方的代码是什么呢?
谢谢
[解决办法]
前面和后面依次交换值就行了,没什么难的
[解决办法]
char char1[]="123456"; int len = strlen(char1); for (int i=len-1;i>=0;i--) { printf("%c",char1[i]); }
[解决办法]
#include<stdio.h>#include<stdlib.h>#include<string.h>char *reverse(char src[]){ char *ret = src; char *start = src; char *end = src + strlen(src); if (src == NULL) return NULL; while (--end > start) { char tmp = *end; *end = *start; *start = tmp; ++start; } return ret;}int main(){ char src[] = "123456"; printf("%s\n", reverse(src)); system("pause"); return 0;}