1:使用指针数组
2:使用动态分配
3:定义jilu字符数组作为中转站传输给指针数组
4:先读入一个单词之后就能用空格来卡循环条件
5:注意一个单词加空格的情况,这时需要用到scanf返回值,如果返回值是EOF证明是只有一个单词加一个空格的情况
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *op[300000],jilu[100];
int i=0,n=0,kg=0;
char ch;
op[n]=(char *)malloc(250000);
scanf("%s",op[n++]); //读入第一个单词
while((ch=getchar())==' ') //读入单词后的空格
{
op[n]=(char *)malloc(10); //动态分配
if(scanf("%s",op[n])==EOF){printf("%s",op[0]);return 0;}/
n++;
}
for(i=n-1;i>=0;i--)//倒序输出
{
if(i!=0)printf("%s ",op[i]);
else printf("%s",op[i]);
}
return 0;
}