所以我正在尝试编写一个 C 程序,它将检查呈现给标准输入的数据并向后打印(到标准输出)每一行上的单词,每个单词都由一个空格分隔。我不想在一个单词中颠倒字母;我只想颠倒单词的顺序。我希望程序也能注意命令行参数,并让程序处理多个文件文件名。这是我想出的一些代码,想知道我是否走在正确的轨道上,如果不是什么可能会改变以到达我需要到达的地方:
#include<stdio.h>
#include<math.h>
void rev(char *l, char *r);
int main(int argc, char *argv[]) {
char buf[] = "the world will go on forever";
char *end, *x, *y;
for(end=buf; *end; end++);
rev(buf,end-1);
x = buf-1;
y = buf;
while(x++ < end) {
if(*x == '\0' || *x == ' ') {
rev(y,x-1);
y = x+1;
}
}
printf("%s\n",buf);
return(0);
}
void rev(char *l,char *r) {
char t;
while(l < r) {
t = *l;
*l++ = *r;
*r-- = t;
}
}
如何将我的代码编辑到可以从用户输入的字符串中获取字符串并反转该字符串并输出结果的位置?