Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail NNTP-Posting-Date: Mon, 23 Jul 2012 22:39:18 -0500 Message-ID: <500E18E3.19CA@mindspring.com> Date: Mon, 23 Jul 2012 23:39:15 -0400 From: pete Reply-To: pfiland@mindspring.com Organization: PF X-Mailer: Mozilla 3.04Gold (WinNT; I) MIME-Version: 1.0 Newsgroups: comp.lang.c Subject: Re: qsort man page References: <89644623-7e1c-4f8b-9f4d-6443526f0f73@u2g2000yqj.googlegroups.com> <0.7b858dd95d3281469ee0.20120721225709BST.87boj893re.fsf@bsb.me.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 48 X-Usenet-Provider: http://www.giganews.com NNTP-Posting-Host: 4.156.228.78 X-Trace: sv3-VE3jRXRirGzkVKGNklXMQhZA1NokhvqWXNrGLdFTK1cCNN4/tTcsajo/ybJvrHSoM2ur+Rkli7X28c4!Ica1XOb9XTZq/oRcBZ3pwUBW/nWuy7CQYbggOMcXVw/PmpShhf80Nx/o27kNxy5dPc8E/6xbcR1y!omfVtpV+tA== X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2235 X-Received-Bytes: 2376 Xref: csiph.com comp.lang.c:23645 Ike Naar wrote: > > On 2012-07-22, Bill Cunningham wrote: > > I'm not quite sure I understand. I wanted to try this, > > > > char name[]={"fred","suzy","mike","jennifer"}; > > The types of the array and the initializer do not match. > You probably want > > char *name[] = {"fred","suzy","mike","jennifer"}; /* BEGIN new.c */ #include #include #include #define NMEMB(A) (sizeof (A) / sizeof *(A)) int cmpstringp(const void *p1, const void *p2); int main(void) { size_t element; char *name[] = {"fred","suzy","mike","jennifer"}; qsort(name, NMEMB(name), sizeof *name, cmpstringp); for (element = 0; element != NMEMB(name); ++element) { puts(name[element]); } return 0; } int cmpstringp(const void *p1, const void *p2) { const char *const *const pp1 = p1; const char *const *const pp2 = p2; return strcmp(*pp1, *pp2); } /* END new.c */ -- pete