1 #include <stdio.h>
2 #include <string.h>
3
4 int main()
5 {
6 char *p = {"hello luoxang. how are you?"};
7 char arr[5][20];
8 char (*r)[20] = arr;
9 char brr[1024] = {0};
10 char *pn = brr; //pn指针是中间方便操作数组的
11 strcpy(pn, p); //这里是将p指向的字符串通过pn赋到brr
12 char *str = NULL; //str用来存放strstr返回的地址
13 char *tmp = NULL; //tmp用来存放strtok返回的地址
14 int i=0, j=0;
15
16 do{
17 str = strstr(pn, " ");
18 tmp = strtok(pn, " ");
19 pn = str + 1; //通过pn操作数组而不是直接用brr
20 strcpy(*(r+i), tmp); //一定不能写成*(r+i)=tmp
21 i++;
22 }while(str); //没找到返回0
23
24 for(j=4; j>=0; j--)
25 printf("%s ", *(r+j));
26
27 printf("
");
28
29 }
~