示例:
Hello World
olleH dlroW
我试图一起使用strtok和strrev函数,但我不能。 我可以反转一个字符串,但我不能像上面的例子那样逐字。
答案 0 :(得分:1)
首先,从头开始(标记)并继续前进。当您点击空格或字符串结尾时,请标记您的位置并执行以下操作:
向后(从当前位置到最后一个标记),确保在取消引用指针时打不到无效的内存位置,并在那里打印每个字符。转到步骤1,在您离开的位置设置新的开始标记。
继续前面的步骤,直到您完全读完字符串。
答案 1 :(得分:1)
您应该使用string.h中的strtok()函数,并从头到尾打印每个令牌。如果看起来很难干破小问题。例如,尝试制作一个反向打印字符串的程序。
如果您提供一些代码,我们将能够为您提供更好的帮助。
答案 2 :(得分:0)
取决于您使用的编程语言。 如果使用c#那么
答案 3 :(得分:0)
我假设您已经熟悉设置strtok
,如果不是只是问。基本上你需要设置strtok
,然后当它不返回NULL时,你必须将它返回的指针传递给strrev
,然后替换{{1}所放置的终止NULL带空格。
答案 4 :(得分:0)
谢谢你们所有人。我想我找到了答案,这段代码很有用。
int main ()
{
char string[100];
char*word;
printf("your sentence: \n");
gets(string);
word=strtok(string," ");
while(word!=NULL){
strrev(word);
printf("%s ",word);
word=strtok(NULL," ");
}
getch();
return 0;
}