CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

本小姐有一事不明 想给哥哥不吝赐教

楼主raymond323(raymond)2005-05-20 22:57:07 在 C/C++ / 新手乐园 提问

用qsort函数将命令行参数排序  
  #include<iostream>  
  #include<cstring>  
  #include<cstdlib>  
  using   namespace   std;  
   
  int   comp(const   void*,const   void*);  
   
  main(int   argc,char   *argv[])  
  {  
        qsort(argv+1,argc-1,sizeof   argv[0],comp);  
        while(--agc)  
            cout<<*++argv<<endl;  
  }  
  int   comp(const   void*   p1,const   void*   p2)  
  {  
        const   char   *ps1=*(const   char**)   p1;     //????  
        const   char   *ps2=*(char**)   p2;             //?????  
        return   strcmp(ps1,ps2);  
  }  
  打问号的地方   为什么要强制转换成const   char**类型呢   不懂 问题点数:20、回复次数:44Top

1 楼yyj1982(一切从头开始,好好学英语)回复于 2005-05-20 23:15:50 得分 0

看标题觉得口气挺大的!  
  哎!  
   
  因为p1和p2都是const   void   *   ,而void指针必须转换成具体的指针类型才能解析引用。  
  现在明白了吧,大小姐?Top

2 楼llmsn("若虚"即"虚怀若谷"!!!)回复于 2005-05-20 23:25:36 得分 0

同意楼上的.Top

3 楼wyhdll()回复于 2005-05-20 23:47:28 得分 0

建议先看看void*的用法,它可以指向任意类型,在指针传递的时候需要知道具体的类型Top

4 楼captain_x(captain)回复于 2005-05-20 23:49:22 得分 0

估计是个男的吧  
  哈哈Top

5 楼yesiloveyou(下意识的弯了一下腰,TMD,踩狗屎了)回复于 2005-05-21 00:16:20 得分 0

哈哈///  
  回复人:   yyj1982(一切从头开始,好好学英语)   (   )   信誉:100    
  是对的Top

6 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-05-21 00:16:51 得分 0

看标题觉得口气挺大的!  
  哎!  
   
  因为p1和p2都是const   void   *   ,而void指针必须转换成具体的指针类型才能解析引用。  
  现在明白了吧,大小姐?  
  ---------  
  同意Top

7 楼plovej(把自己变为挣钱的机器)回复于 2005-05-21 01:42:58 得分 0

heheTop

8 楼humanity(城市边缘的狼)回复于 2005-05-21 02:07:09 得分 0

如果能把自己变成印刷钞票的机器就更好了.Top

9 楼MagicCarmack(MagiC++)回复于 2005-05-21 04:21:22 得分 0

void指针必须转换成具体的指针类型才能解析引用Top

10 楼jack_wq(风尘往事具忘去,心地无私天地宽)回复于 2005-05-21 08:25:02 得分 0

因为p1和p2都是const   void   *   ,而void指针必须转换成具体的指针类型才能解析引用,否则是不可以直接使用的!Top

11 楼TomDebug(风)回复于 2005-05-21 09:22:31 得分 0

留QQ  
  这是csdn对女生的厚待Top

12 楼zjlang(阿亮)回复于 2005-05-21 10:39:08 得分 0

稀有动物啊,大家积极一点嘛。Top

13 楼crybird(寒号鸟)回复于 2005-05-21 14:04:27 得分 0

小姐?  
  多少钱一次?  
  多少钱一晚?  
  能视频么,给我发消息。  
   
  哈哈哈哈,笑死我了。Top

14 楼lonelyforest(一生所爱)回复于 2005-05-21 14:14:01 得分 0

这个年代,女生真是厉害啊Top

15 楼zhangyu666(咖啡)回复于 2005-05-21 15:25:43 得分 0

回复人:   yyj1982(一切从头开始,好好学英语)   (   )   信誉:100     2005-05-20   23:15:00     得分:   0      
     
     
        看标题觉得口气挺大的!  
  哎!  
   
  因为p1和p2都是const   void   *   ,而void指针必须转换成具体的指针类型才能解析引用。  
  现在明白了吧,大小姐?  
   
   
  是对的  
       
     
  Top

16 楼haifeng85()回复于 2005-05-21 15:38:57 得分 0

高手这么多  
  不要多嘴了  
  闪!!!Top

17 楼raymond323(raymond)回复于 2005-05-21 18:36:31 得分 0

那为什么不这样const   char   *ps1=(const   char*)   p1;  
  这样对吗?Top

18 楼hell_wolf(浪花)回复于 2005-05-21 19:21:06 得分 0

估计是个男的吧  
  Top

19 楼cao12m(★草上飞★)回复于 2005-05-21 19:45:39 得分 0

大小姐口气不小!!!   有个性Top

20 楼hundlom(托克维尔)回复于 2005-05-21 19:49:48 得分 0

在csdn上玩浪花...Top

21 楼eyun(艺云)回复于 2005-05-21 20:34:13 得分 0

以后是女生提问必须留下qq研明证身以后才回答问题。Top

22 楼fantasyzzz(陈陈)回复于 2005-05-21 22:03:26 得分 0

const   char   *ps1=(const   char*)   p1;  
  也对Top

23 楼celeil(蜡笔小新)回复于 2005-05-23 12:40:12 得分 0

这风格像是smalltalk程序员写C++程序。Top

24 楼karonque(karon)回复于 2005-05-23 12:52:33 得分 0

回复人:   fantasyzzz(陈陈)   (   )   信誉:100     2005-5-21   22:03:26     得分:   0      
     
     
         
  const   char   *ps1=(const   char*)   p1;  
  也对  
   
  ========================  
  肯定吗?我不确定。Top

25 楼CPPLOVER_78(CPP爱好者)回复于 2005-05-23 13:27:34 得分 0

我也DING   一下,支持你小妹妹Top

26 楼humanity(城市边缘的狼)回复于 2005-05-27 20:21:41 得分 0

这个时代   的小姐   是一个很有歧义的词汇   ,   建议楼主不要使用.     *^_^*     .Top

27 楼conquer2004(狗样年华)回复于 2005-05-27 21:00:30 得分 0

发现帖子要有人气就的冠上“本小姐”“妹妹”之类的词!  
  知道了,下次我也学着点!Top

28 楼burningfire_wqf(FreshBird)回复于 2005-05-27 21:21:42 得分 0

这个时代   的小姐   是一个很有歧义的词汇   ,   建议楼主不要使用.     *^_^*     .  
  ------------------------------------------------------------------  
  同意!Top

29 楼tsao(整型变量)回复于 2005-05-27 21:52:00 得分 0

我也留个名吧Top

30 楼foochow(无聊,灌水......)回复于 2005-05-27 22:05:59 得分 0

mark!!!嘿嘿Top

31 楼mainwind(风想)回复于 2005-05-27 22:43:42 得分 0

mark   zhuanTop

32 楼CloudOfFly(追忆)回复于 2005-05-28 11:33:52 得分 0

我也来   看看Top

33 楼younganne(~~~~~~~)回复于 2005-05-28 12:46:41 得分 0

不就是写了一个小姐二字么,有什么奇怪,只能说明你们看的武侠小说太少?Top

34 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2005-05-29 11:51:31 得分 0

路过  
  Top

35 楼yy1361(孤狼)回复于 2005-05-29 12:49:43 得分 0

哈哈1妹妹真受欢迎!  
   
  看来csdn上光棍多!Top

36 楼yie800(Crazy)回复于 2005-05-29 13:45:59 得分 0

同意Top

37 楼yangbc(土豆块)回复于 2005-05-29 16:10:45 得分 20

我觉得楼上大伙都没有回答到问题的关键上,comp()的参数是void指针是不错,不过还有个调用实现方法的问题,如果你调用comp()时候传过去的是指针的地址,那就要像搂主程序中comp()函数中那样解决,指针的指针么,只能这么做;而如果传过去的是指针的值,那就不能像搂主程序中那样解决了,直接  
  const   char   *ps1;  
  ps1=(char*)p1;  
   
  就行了Top

38 楼yangbc(土豆块)回复于 2005-05-29 16:14:17 得分 0

怎么也没什么高手跟贴阿Top

39 楼bob_thb(绿果)回复于 2005-05-29 16:15:49 得分 0

多看看书,大姐,这些上面都有啊Top

40 楼fire314159(水源是学生,穷鬼,闷骚型男人的聚集地,请对号入座)回复于 2005-05-29 21:00:04 得分 0

不许职业歧视Top

41 楼BluntBlade(信仰迷离·重构之道,在于Redo/Undo之间)回复于 2005-05-29 21:06:24 得分 0

……版风日下啊……Top

42 楼grandking719(爱吃大饼)回复于 2005-05-30 00:02:52 得分 0

看标题觉得口气挺大的!  
  哎!  
   
  因为p1和p2都是const   void   *   ,而void指针必须转换成具体的指针类型才能解析引用。  
  现在明白了吧,大小姐?  
   
  本来不想回贴  
  不过女的就是受欢迎阿  
  本着我不如地狱谁入地狱的态度回贴  
   
  大小姐?娶你:别在自我  
   
  现在那,难人针命苦,要挣钱,要回做饭,要回洗衣服,最主要的:要回哄女孩子开心Top

43 楼baby5200(阿锐)回复于 2005-05-30 10:38:49 得分 0

humanity(总是偷窥   Java   &   XML)    
  如果能把自己变成印刷钞票的机器就更好了.  
   
   
   
  如果是那样。我就先把你给抢过来。Top

44 楼syd1207(既然选择远方,便只顾风雨兼程。。。)回复于 2005-05-30 17:18:33 得分 0

就楼主姓“本”的那位小姐的问题  
   
  我同意yyj1982(一切从头开始,好好学英语)的解释Top

相关问题

  • 一事不明
  • 有一事不明!
  • 有一事不明!
  • 小弟,有一事不明...
  • 一事不明白(1)
  • 不明白怎么回事~
  • 小弟一事不明,请教了!
  • 各位高手,有一件事不明
  • 刚来,有些事情不明白
  • 二事不明,有关BIOS和显存。

关键词

  • qsort
  • argv
  • comp
  • argc
  • include
  • const void

得分解答快速导航

  • 帖主:raymond323
  • yangbc

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo