【发布时间】:2019-12-04 15:16:31
【问题描述】:
我被限制不能使用来自<string.h> 的任何东西。
我想反转传递的字符串中的每个单词。
这是我目前所拥有的:
#include <stdio.h>
char * reversepPrint( char *name )
{
char *normal = name, *reverse = name;
while ( *reverse ) ++reverse;
if ( normal < reverse )
{
for ( ; normal < --reverse; ++normal )
{
char c = *normal;
*normal = *reverse;
*reverse = c;
}
}
return name;
}
int main( void )
{
char s[] = "Simon liebt Pizza!";
printf("%s", reversepPrint(s));
return 0;
}
我的代码正在反转整个字符串,但我想要反转单个单词 - 所以这个例子的结果是"nomiS tbeil !azziP"。
【问题讨论】:
-
反转时,将字符保留在另一个数组中,直到找到一个空格。然后,再次反转第二个数组中的字符串以按顺序获取单词
-
提示:link
-
很多答案。只是为了好玩,这是我的:ideone.com/aE5MHU。