C编程:这个将键盘一行字符倒排输出的程序怎么编曲,如“I love you"输出“you love I",谢谢看补充:

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:59:14
编写程序实现将键盘输入的一行字符倒排输出。如键盘输入”I love you”,屏幕显示”you love I”。要求:
(1)主函数中输入字符串到字符数组string[]中,输出字符串。调用子函数sub1倒排字符串。
(2)sub1将string[]中的字符串倒排。
这个程序中的单词怎么倒序啦,谢谢!
谢谢你们,但这个程序我还是看不懂,它的运行结果是正确的,“,"%*[ ]%[^ ]%*c"”这是什么,我学过,请换一种写法吗,谢谢!我还是名初学者。

#include <string.h>
#include <stdio.h>

void sub1(char *str)

char s[80];
if (str[0]){
sscanf(str,"%*[ ]%[^ ]%*c",s);
sub1(str+strlen(s)+1);
printf("%s ",s);

int main(int argc, char* argv[])

sub1("I love you");
return 0;

这个程序中的main()函数的参数可以去掉:

//---------------------------------------------------------------------------
#include <string.h>
#include <stdio.h>

void sub1(char *str)
{
char s[80];
if (str[0]){
sscanf(str,"%*[ ]%[^ ]%*c",s);
sub1(str+strlen(s)+1);
printf("%s ",s);
}

}
int main(void)
{
sub1("I love you");
return 0;
}
//---------------------------------------------------------------------------