user-0 提问: C语言编程，求大神给解答

回复:
user: user-1
content: #include <stdio.h> #include <string.h>  #define     ROW     10    /* Max support 10 words*/ #define     COL     32 #define     MAX_STR 80  void swap_odd_even_str(char *odd_str,  char *even_str); int get_word_list(char (*pword)[COL], char *pstr, int len);  int main(void) {     char str[MAX_STR];     char word_list[ROW][COL];     int i, len, num;      printf("Please input a string: ");     fgets(str, MAX_STR, stdin);      len = strlen(str);     str[len - 1] = 0;      num = get_word_list(word_list, str, len - 1);      for (i = 0; i <= num; i += 2)         swap_odd_even_str(word_list[i], word_list[i+1]);      for (i = 0; i <= num; i++)         puts(word_list[i]);      return 0; }  int  get_word_list(char (*pword)[COL], char *pstr, int len) {     int i, j = 0, k = 0;      for (i = 0; i < len;  i++) {         if (pstr[i] != ' ') {             pword[j][k++] = pstr[i];         } else {             pword[j][k] = 0; /* add '\0' */             j++;             k = 0;         }     }     pword[j][k] = 0;    /* add '\0' for last word */      return j; }  void swap_odd_even_str(char *odd_str,  char *even_str) {     char tmp[COL];      strcpy(tmp, odd_str);     strcpy(odd_str, even_str);     strcpy(even_str, tmp); } 参考一下吧～

user: user-2
content: 看来是一个学校的，临沂，我也不会啊

user: user-0
content: 引用 2 楼 jianwen0529 的回复:1L变种，不知道老师给不给分  #include <stdio.h>  #define     ROW     4 #define     COL     80  int main(void) {     char str_list[ROW][COL] = { "Lucy", "Lily", "Tom", "John" };     char *p_str_list[ROW];     int i;     char *p_temp;      for (i = 0; i < ROW; i++)         p_str_list[i] = str_list[i];      for (i = 1; i < ROW; i += 2)     {         p_temp = p_str_list[i];         p_str_list[i] = p_str_list[i - 1];         p_str_list[i - 1] = p_temp;     }      for (i = 0; i < ROW; i++)         puts(p_str_list[i]);      return 0; }    这个看着还是不会亲，怎么改成我要的那种，帮帮忙吧！亲

user: user-0
content: 引用 1 楼 cfjtaishan 的回复:#include <stdio.h> #include <string.h>  #define     ROW     4 #define     COL     80  void swap_odd_even_str(char *odd_str,  char *even_str);  int main(void) {     char str_list[ROW][COL] = {"Lucy", "Lily", "Tom", "John"};     int i;      for (i = 0; i < ROW; i += 2)         swap_odd_even_str(str_list[i], str_list[i+1]);      for (i = 0; i < ROW; i++)         puts(str_list[i]);      return 0; }  void swap_odd_even_str(char *odd_str,  char *even_str) {     char tmp[COL];      strcpy(tmp, odd_str);     strcpy(odd_str, even_str);     strcpy(even_str, tmp); }   参考一下吧   这个是个固定的，怎么才是题目那样，我不会改

user: user-3
content: 1L变种，不知道老师给不给分  #include <stdio.h>  #define     ROW     4 #define     COL     80  int main(void) {     char str_list[ROW][COL] = { "Lucy", "Lily", "Tom", "John" };     char *p_str_list[ROW];     int i;     char *p_temp;      for (i = 0; i < ROW; i++)         p_str_list[i] = str_list[i];      for (i = 1; i < ROW; i += 2)     {         p_temp = p_str_list[i];         p_str_list[i] = p_str_list[i - 1];         p_str_list[i - 1] = p_temp;     }      for (i = 0; i < ROW; i++)         puts(p_str_list[i]);      return 0; }

user: user-1
content: #include <stdio.h> #include <string.h>  #define     ROW     4 #define     COL     80  void swap_odd_even_str(char *odd_str,  char *even_str);  int main(void) {     char str_list[ROW][COL] = {"Lucy", "Lily", "Tom", "John"};     int i;      for (i = 0; i < ROW; i += 2)         swap_odd_even_str(str_list[i], str_list[i+1]);      for (i = 0; i < ROW; i++)         puts(str_list[i]);      return 0; }  void swap_odd_even_str(char *odd_str,  char *even_str) {     char tmp[COL];      strcpy(tmp, odd_str);     strcpy(odd_str, even_str);     strcpy(even_str, tmp); }   参考一下吧