#include <stdio.h> #include <stdlib.h> #include <assert.h> void reverse_str(char *left, char *right) { assert(left); assert(right); while (left < right) { char tmp = *left; *left = *right; *right = tmp; left++; right--; } } int my_strlen(const char * str) { int count = 0; while (*str++) { count++; } return count; } void reverse(char arr[])//(cahr *str) { char *pstart = arr; char *pend = arr + my_strlen(arr)-1; char *pcur = NULL; if ((arr == NULL) || (arr[0] == '\0')) { return; } reverse_str(pstart, pend);//逆序整个字符数组 while (*arr) { pcur = arr; while (*arr != '\0' && *arr != ' ') { arr++; } pend = arr - 1; reverse_str(pcur, pend); if (*arr == ' ') arr++; } } int main() { char arr[] = "student a am i"; //i ma a tneduts //i am a student reverse(arr); printf("%s\n", arr); system("pause"); return 0; }
字符串反转
原创
©著作权归作者所有:来自51CTO博客作者I慕蓝的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:顺序表
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章