Groups | Search | Server Info | Login | Register


Groups > comp.lang.c > #397486

Re: Small challenge: sort names

Path csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail
From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: Small challenge: sort names
Date Sat, 11 Apr 2026 08:49:11 -0700
Organization A noiseless patient Spider
Lines 82
Message-ID <86eckla45k.fsf@linuxsc.com> (permalink)
References <10r4h6o$396qn$1@dont-email.me> <20260409001030.000006c9@yahoo.com> <bDBBR.139$Np7d.78@fx15.iad> <20260409025901.00002bc6@yahoo.com> <10r8fr5$37g$1@reader1.panix.com>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Date Sat, 11 Apr 2026 15:49:12 +0000 (UTC)
Injection-Info dont-email.me; posting-host="21f9f6d525ecd04de8977c5f6117a238"; logging-data="2019169"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX187IpRzieAe/wZ01LO8kZMrQ7scNTkw8as="
User-Agent Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock sha1:POIesb7CanoFDprbOtEtGTfj7aE= sha1:/m2yacfPWKIPzLmP3d3Q0Y/Of8o=
Xref csiph.com comp.lang.c:397486

Show key headers only | View raw


cross@spitfire.i.gajendra.net (Dan Cross) writes:

> In article <20260409025901.00002bc6@yahoo.com>,
> Michael S  <already5chosen@yahoo.com> wrote:
>
>> On Wed, 08 Apr 2026 23:35:35 GMT
>> scott@slp53.sl.home (Scott Lurndal) wrote:
>>
>>> Michael S <already5chosen@yahoo.com> writes:
>>>
>>>> On Wed, 08 Apr 2026 21:04:56 GMT
>>>> scott@slp53.sl.home (Scott Lurndal) wrote:
>>>>
>>>>>> [snip]
>>>>>
>>>>> Idiomatically, I might have written
>>>>>
>>>>>    size_t
>>>>>    countchar(const char *str, char match)
>>>>>    {
>>>>>        size_t count = 0u;
>>>>>        for(; *str != '\0'; str++) count += (*str == match);
>>>>>        return count;
>>>>>    }
>>>>
>>>> I'd change it to
>>>>
>>>>   size_t
>>>>   countchar(const char *str, char match)
>>>>   {
>>>>       size_t count = 0;
>>>>       for(; *str != 0; str++) count += (*str == match);
>>>>       return count;
>>>>   }
>>>
>>> Personally, I prefer to properly identify integer constants
>>> with the appropriate type annotation.  I always explicitly
>>> check against NULL rather than using !ptr, for example.  I
>>> never use an unadorned integer for a character constant,
>>> rather using either 'c' for printables, the legal escapes
>>> (e.g. \n) and for any non-printable, the appropriate
>>> octal escape.
>>>
>>> Perhaps some of this is pedantic.   I worked with a system
>>> where the null pointer constant was not the value zero, so
>>> I'm aware that !ptr may not actually do the right thing in
>>> such cases.
>>
>> Which is irrelevant in this specific case.
>> BTW, I think that (ptr != 0) is guaranteed to work even on systems
>> with null pointers not being numerically zero.  But I am not
>> certain about it.  What I am certain is that on the right side of
>> assignment to pointer 0 always acts the same as NULL.
>> But that's too irrelevant for our case.
>
> It's easy enough to verify looking at a canonical source.
> Section 6.3.2.3 coupled with 6.5.9 of C18 suggest this is
> guaranteed to work.
>
>> As to being pedantic w.r.t. '\0', may be you acquired this habit
>> because of C++?  If I am not mistaken, in C++ '\0' has type char
>> and due to that (or because of, which is IMHO, more appropriate
>> wording) can in some contexts lead to results different from 0,
>> with differences as huge as call to completely different procedure.
>> It does not happen in C where we have no misfeature of type based
>> static polymorphism.
>
> '\0' is indeed a `char` in C++.  But I don't think that really
> changes the point, which is more about semantics.  Why NOT use a
> relevant character constant instead of `0`?  It's not whether
> one can or not, or whether it's semantically equivalent, or
> whether C's `char` type is really an integer in a trenchcoat:
> it's using the appropriate constant to match the domain:  in this
> case, matching character data.

There's no reason to use a constant at all;  just write '*str'.
This writing isn't just idiomatic -- it's integral to how the
language was designed, not only for string termination but also
the rules for null pointers and how expressions work in the
context of for(), if(), and while().  Writing != 0 or != '\0' is
a holdover from being used to writing Pascal (or any number of
other earlier languages).  When in Rome, do as the Romans do.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-07 23:14 -0400
  Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-08 10:22 +0200
    Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-08 12:25 -0400
      Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-08 18:57 +0100
        Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-08 21:04 +0000
          Re: Small challenge: sort names Michael S <already5chosen@yahoo.com> - 2026-04-09 00:10 +0300
            Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-08 23:35 +0000
              Re: Small challenge: sort names Michael S <already5chosen@yahoo.com> - 2026-04-09 02:59 +0300
                Re: Small challenge: sort names James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-04-09 06:29 -0400
                Re: Small challenge: sort names cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-09 15:15 +0000
                Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-11 08:49 -0700
                Re: Small challenge: sort names cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-11 19:59 +0000
                Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-16 18:50 +0200
                Re: Small challenge: sort names cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-16 19:54 +0000
                Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-17 16:22 +0200
              Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-08 17:27 -0700
              Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-08 22:14 -0700
                Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-09 02:19 -0700
                Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-09 15:06 +0000
                Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-12 06:35 -0700
                Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-12 14:51 +0000
                Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-13 06:31 -0700
                Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-12 06:48 -0700
                Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-12 16:15 -0700
                Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-25 13:31 -0700
                Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-25 15:12 -0700
                Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-26 04:13 +0200
                Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-25 19:50 -0700
                Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-26 05:28 +0200
                Re: Small challenge: sort names David Brown <david.brown@hesbynett.no> - 2026-04-26 12:08 +0200
          Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-11 08:44 +0200
        Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-08 17:13 -0400
          Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-11 08:59 +0200
            Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-11 09:34 +0200
      Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-11 08:31 +0200
    Re: Small challenge: sort names BGB <cr88192@gmail.com> - 2026-04-12 13:08 -0500
    What is the point of anything? (Was: Small challenge: sort names) gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-17 20:44 +0000
  Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-08 18:46 -0700
  Re: Small challenge: sort names Sort <Sort@invalid.invalid> - 2026-04-11 19:15 +0100
  Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-16 18:24 +0200
    Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-16 18:38 +0100
      Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-16 19:43 +0200
    Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-18 11:22 +0100
      Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-18 17:48 +0200
        Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-19 08:44 +0200
    Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-22 05:33 -0400
      Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-22 03:16 -0700
        Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-22 07:35 -0400
          Re: Small challenge: sort names Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-23 08:11 -0700
            Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-23 20:14 +0200
              Re: Small challenge: sort names gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-23 18:30 +0000
        Re: Small challenge: sort names gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-23 17:19 +0000
      Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-22 14:11 +0200
        Re: Small challenge: sort names James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-04-22 21:27 -0400
          [OT][meta] Gender (was Re: Small challenge: sort names) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-23 15:51 +0200
            Re: [OT][meta] Gender (was Re: Small challenge: sort names) scott@slp53.sl.home (Scott Lurndal) - 2026-04-23 14:45 +0000
              Re: [OT][meta] Gender (was Re: Small challenge: sort names) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-23 17:03 +0200
              Re: [OT][meta] Gender (was Re: Small challenge: sort names) DFS <nospam@dfs.com> - 2026-04-23 20:31 -0400
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-23 18:43 -0700
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-24 16:58 +0000
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) Jan van den Broek <balglaas@dds.nl> - 2026-04-24 06:57 +0000
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-24 10:10 +0200
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) David Brown <david.brown@hesbynett.no> - 2026-04-24 12:52 +0200
            Re: [OT][meta] Gender (was Re: Small challenge: sort names) Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-23 16:36 -0700
              Re: [OT][meta] Gender (was Re: Small challenge: sort names) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-24 03:01 +0200
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-23 18:50 -0700
                Re: [OT][meta] Gender (was Re: Small challenge: sort names) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-04-24 20:35 -0700
            Re: [OT][meta] Gender (was Re: Small challenge: sort names) Michael S <already5chosen@yahoo.com> - 2026-04-24 14:20 +0300
              Re: [OT][meta] Gender (was Re: Small challenge: sort names) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-24 14:32 +0200
      Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-23 20:10 +0200
        Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-25 10:26 -0400
          Re: Small challenge: sort names Bonita Montero <Bonita.Montero@gmail.com> - 2026-04-26 13:01 +0200
  Re: Small challenge: sort names Rosario19 <Ros@invalid.invalid> - 2026-04-18 11:16 +0200
    Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-18 08:11 -0400
      Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-18 14:03 +0100
    Re: Small challenge: sort names Rosario19 <Ros@invalid.invalid> - 2026-04-20 21:20 +0200
      Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-20 16:43 -0400
        Re: Small challenge: sort names Rosario19 <Ros@invalid.invalid> - 2026-04-21 05:09 +0200
          Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-21 08:46 -0400
            Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-21 16:08 +0100
              Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-21 11:33 -0400
                Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-21 18:25 +0100
                Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-21 17:38 +0000
                Re: Small challenge: sort names Michael S <already5chosen@yahoo.com> - 2026-04-21 20:50 +0300
                Re: Small challenge: sort names scott@slp53.sl.home (Scott Lurndal) - 2026-04-21 18:22 +0000
                Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-22 03:48 +0200
                Re: Small challenge: sort names David Brown <david.brown@hesbynett.no> - 2026-04-22 09:18 +0200
                Re: Small challenge: sort names Michael S <already5chosen@yahoo.com> - 2026-04-22 13:22 +0300
                Re: Small challenge: sort names David Brown <david.brown@hesbynett.no> - 2026-04-22 12:38 +0200
                Re: Small challenge: sort names Michael S <already5chosen@yahoo.com> - 2026-04-22 13:58 +0300
                Re: Small challenge: sort names David Brown <david.brown@hesbynett.no> - 2026-04-22 13:13 +0200
                Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-22 14:53 +0200
                Re: Small challenge: sort names DFS <nospam@dfs.com> - 2026-04-21 16:31 -0400
                Re: Small challenge: sort names Bart <bc@freeuk.com> - 2026-04-21 23:04 +0100
      Re: Small challenge: sort names Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-20 14:16 -0700
        An audience of one (Was: Small challenge: sort names) gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-21 13:00 +0000
          Re: An audience of one (Was: Small challenge: sort names) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-04-21 12:21 -0700
    Re: Small challenge: sort names Rosario19 <Ros@invalid.invalid> - 2026-04-21 05:00 +0200
      Re: Small challenge: sort names Rosario19 <Ros@invalid.invalid> - 2026-04-21 05:06 +0200
  Re: Small challenge: sort names gggggggggggunit <gunitinug@50cent.com> - 2026-04-18 10:19 +0000
    [OT] Shell approach to Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-19 09:35 +0200
      Re: [OT] Shell approach to Re: Small challenge: sort names gazelle@shell.xmission.com (Kenny McCormack) - 2026-04-19 14:18 +0000
        Re: [OT] Shell approach to Re: Small challenge: sort names cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-19 19:32 +0000
          Re: [OT] Shell approach to Re: Small challenge: sort names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-04-22 03:34 +0200

csiph-web