当前位置: 代码迷 >> C语言 >> 为什么有没有指针结果都对呢
  详细解决方案

为什么有没有指针结果都对呢

热度:116   发布时间:2007-12-22 23:05:37.0
为什么有没有指针结果都对呢
#include<stdio.h>
    void main()
    {
      char *str1[20],*str2[20],*str3[20];
      void swap(char *p1,char *p2);  clrscr();
      printf("input three lines:\n");
      gets(str1);gets(str2);gets(str3);
      if(strcmp(str1,str2)>0)swap(str1,str2);
      if(strcmp(str1,str3)>0)swap(str1,str3);
      if(strcmp(str2,str3)>0)swap(str2,str3);
      printf("now the order is:\n");
      printf("%s\n%s\n%s\n",str1,str1,str3);
    }
    void swap(char *p1,char *p2)
    { char p[20];
      strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
    }

p前面加不加指针*都对
为什么
搜索更多相关的解决方案: 指针  char  swap  void  

----------------解决方案--------------------------------------------------------
你知道char *str1[20]是什么意思吗?首先str[20]是一个数组,最多可以放20个元素,每个元素是指向一个字符的指针!所以应该改成char str1[20]
----------------解决方案--------------------------------------------------------
如果用char p[20]的话,那就直接把字符复制到数组里面……
用cha *p[20]就是一个指针数组,里面放20个元素,这个元素是指向字符的指针……
其实这里面存的东西是一样的……
----------------解决方案--------------------------------------------------------
  相关解决方案