可以用这个代码编改写说反话-加强版 吗?

#include
#include
#include
int main(void)
{
int i,n=0;
char color[20],str[15];
scanf("%s",str);
while(str[0]!='#')
{
color[n]=(char *)malloc(sizeof(char)
(strlen(str)+1));
strcpy(color[n],str);
n++;
scanf("%s",str);
}
for(i=n-1;i>=0;i--)
{
printf("%s ",color[i]);
free(color[i]);
}
return 0;
}

https://www.cnblogs.com/andywenzhi/p/5738608.html