#include <stdio.h> #include <stdlib.h> #include <string.h> #define NUM 20 #define MAXSIZE 15 //输入一些有关颜色的单词,每行一个,以#作为输入结束的标志。按输入的相反次序输出这些单词。其中单词数小于20,单词长度小于15(动态分配储存空间) int main() { char *s[NUM],str[MAXSIZE],**p; int i=0; printf("输入单词\n"); do { scanf("%s",str); s[i]=(char*)malloc((strlen(str)+1)*sizeof(char)); //申请字符串存储空间 strcpy(s[i],str); //复制字符串到指针数组 i++; } while(strcmp(str,"#")); //#标志着输入截止 for (p=s+i-2;p!=s-1;p--) //利用二级指针倒序输出字符串 { printf("%s\n",*p); } return 0; }