C 反转以逐字打印字符串?
例如:C 反转以逐字打印字符串?,c,string,reverse,C,String,Reverse,例如: 你好,世界 奥利德洛 我试图同时使用strtok和strev函数,但我做不到。 我可以反转一个字符串,但不能像上面的例子那样逐字反转。首先,从开头开始(标记它),然后继续。当您点击空格或字符串结尾时,标记您的位置并执行以下操作: 往回走(从当前位置到最后一个标记),确保在取消引用指针时没有碰到无效的内存位置,并在到达该位置的过程中打印每个字符。转到步骤1,在停止的位置设置新的开始标记 继续前面的步骤,直到您完全读取了字符串。您应该使用string.h中的strtok()函数,只需从头
- 你好,世界
- 奥利德洛
我可以反转一个字符串,但不能像上面的例子那样逐字反转。首先,从开头开始(标记它),然后继续。当您点击空格或字符串结尾时,标记您的位置并执行以下操作: 往回走(从当前位置到最后一个标记),确保在取消引用指针时没有碰到无效的内存位置,并在到达该位置的过程中打印每个字符。转到步骤1,在停止的位置设置新的开始标记
继续前面的步骤,直到您完全读取了字符串。您应该使用string.h中的strtok()函数,只需从头到尾打印每个标记即可。如果看起来很难将问题分解成更小的问题。例如,试着制作一个程序,反向打印字符串
如果您提供一些代码,我们将能够为您提供更好的帮助。取决于您使用的编程语言。 如果使用c#那么
我假设您已经熟悉设置strtok
strtok
,如果不是直接询问的话。基本上,您需要将strtok设置为up,然后当它不返回NULL时,您必须将它返回的指针传递给strrev,然后用空格替换strtok设置的终止NULL。谢谢大家。我想我找到了答案,这个密码有效
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;
}
我试着用strtok和strev。但我不能@MichaelPetrotta描述您尝试了什么、代码以及遇到了什么问题。细节越详细越好。我本想同时使用strok和strev函数,但我不能。我已经用c标记了这个问题。