//有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student". //要求: //不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。 // #include <stdio.h> #include <string.h> void fanw(char *left, char *right) //把每个单词单词翻转 { char* pleft = left; char* pright = right; char temp; while (pleft < pright) { temp = *pleft; *pleft = *pright; *pright = temp; pleft++; pright--; } } void fans(char *p) //把翻转后的单词再翻转 { while (*p != ‘\0‘) { char *pst = p; while (*p != ‘\0‘ && *p != ‘ ‘) { p++; } fanw(pst, p - 1); p++; } } int main() { char p[30] = "student a am i"; int len = strlen(p); printf("原字符串为 : %s\n", p); printf("翻转后的字符串为 :"); fanw(p, p + len - 1); fans(p); printf("%s\n", p); return 0; }
时间: 2024-10-16 06:32:21