c - 如何在C语言中反转字符串中单词中的每个字符?
问题描述
我必须编写一个函数,它必须反转给定字符串中单词的每个字符,例如:原始字符串:Hello World,反转字符串必须是:olleH dlroW。我正在做的是,我正在循环字符串直到它找到'\ 0',然后在里面循环直到有一个空格。当我找到空格时,我打印反转的字符串,但我的问题是它只打印反转的第一个单词而不是整个字符串,我不知道在找到空格后如何跳转到下一个字符然后扭转它。在我的任务中,我不能使用 string.h 库。
int main(void)
{
char *text = "Hello World";
int i, j;
while(text[i] != '\0')
{
if(text[i] != ' ')
{
for(j = i - 1; j >= 0; j--)
printf("%c", text[j]);
}
i++;
}
return 0;
}