//有一个字符数组的内容为:"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;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。