Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #75197

Re: Program to sort three integers

Path csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Program to sort three integers
Date Fri, 06 Nov 2015 15:57:24 -0800
Organization None to speak of
Lines 28
Message-ID <lnvb9e1y1n.fsf@kst-u.example.com> (permalink)
References <8dcd1ed2-2734-4cff-b013-d713a33100ed@googlegroups.com> <6260467b-092e-418c-a54e-ee34e281eef6@googlegroups.com> <ac519a25-84e1-40e9-a4ac-0b96393a0b4f@googlegroups.com> <70ff9ced-6acf-4e7d-bc37-d0d2078eb1a6@googlegroups.com> <n1j8lh$ojl$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Info mx02.eternal-september.org; posting-host="945944de09706c9b4e29b53c9d2efdc2"; logging-data="14577"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX196cQCb3RROG3kb9SAmRvlY"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Cancel-Lock sha1:tRDCkg2tP6zRgwDMNrTgDg9P0h8= sha1:RGG4+rky+pO6nwK72L/bBxSnJpE=
Xref csiph.com comp.lang.c:75197

Show key headers only | View raw


David Brown <david.brown@hesbynett.no> writes:
[...]
> To be safest, your macros can still be written in the form :
>
> #define reverse(a, b) \
> 	do { t = a; a = b; b = t; } while (0)
>
> Then they will work even if the brackets are omitted in the conditional.

If all the statements are expression statements, as they are here, you
can make the macro expand to an expression rather than to a statement,
which is potentially more flexible:

    #define reverse(a, b) ( t = (a), (a) = (b), (b) = t )

On the other hand, you can make the type an additional argument, which
precludes making the whole thing an expression:

    #define reverse(a, b, type) \
        do { const type t = (a); (a) = (b); (b) = t; } while (0)

But as you say, an inline function is probably even better.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-06 08:20 -0800
  Re: Program to sort three integers Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-11-06 11:32 -0500
    Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 00:20 -0800
      Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-07 11:04 +0000
  Re: Program to sort three integers "Osmium" <r124c4u102@comcast.net> - 2015-11-06 10:34 -0600
  Re: Program to sort three integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-11-06 08:37 -0800
    Re: Program to sort three integers supercat@casperkitty.com - 2015-11-06 10:36 -0800
      Re: Program to sort three integers Richard Heathfield <rjh@cpax.org.uk> - 2015-11-06 19:17 +0000
        Re: Program to sort three integers supercat@casperkitty.com - 2015-11-06 11:30 -0800
        Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 01:01 -0800
      Re: Program to sort three integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-11-06 11:48 -0800
        Re: Program to sort three integers David Brown <david.brown@hesbynett.no> - 2015-11-06 23:15 +0100
          Re: Program to sort three integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-11-06 14:39 -0800
          Re: Program to sort three integers Keith Thompson <kst-u@mib.org> - 2015-11-06 15:57 -0800
      Re: Program to sort three integers Nick Bowler <nbowler@draconx.ca> - 2015-11-06 22:33 +0000
  Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-06 16:39 +0000
    Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 00:22 -0800
  Re: Program to sort three integers Richard Heathfield <rjh@cpax.org.uk> - 2015-11-06 16:45 +0000
    Re: Program to sort three integers "Bill Davy" <Bill@SynectixLtd.com> - 2015-11-06 18:30 +0000
    Re: Program to sort three integers Keith Thompson <kst-u@mib.org> - 2015-11-06 11:36 -0800
      Re: Program to sort three integers Bartc <bc@freeuk.com> - 2015-11-06 19:50 +0000
        Re: Program to sort three integers Keith Thompson <kst-u@mib.org> - 2015-11-06 12:52 -0800
          Re: Program to sort three integers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-09 13:36 +0000
            Re: Program to sort three integers David Brown <david.brown@hesbynett.no> - 2015-11-09 15:41 +0100
          Re: Program to sort three integers raltbos@xs4all.nl (Richard Bos) - 2015-11-10 16:56 +0000
            Re: Program to sort three integers Keith Thompson <kst-u@mib.org> - 2015-11-10 09:11 -0800
            Re: Program to sort three integers supercat@casperkitty.com - 2015-11-10 09:15 -0800
            Re: Program to sort three integers Les Cargill <lcargill99@comcast.com> - 2015-11-10 19:37 -0600
      Re: Program to sort three integers asetofsymbols@gmail.com - 2015-11-06 11:52 -0800
        Re: Program to sort three integers Bartc <bc@freeuk.com> - 2015-11-06 20:01 +0000
          Re: Program to sort three integers asetofsymbols@gmail.com - 2015-11-06 12:21 -0800
          Re: Program to sort three integers "Osmium" <r124c4u102@comcast.net> - 2015-11-06 14:23 -0600
      Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-06 20:58 +0000
      Re: Program to sort three integers Mark Storkamp <mstorkamp@yahoo.com> - 2015-11-06 16:04 -0600
        Re: Program to sort three integers Mark Storkamp <mstorkamp@yahoo.com> - 2015-11-06 16:08 -0600
          Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-06 22:49 +0000
            Re: Program to sort three integers Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-10 16:04 -0800
              Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-11 21:51 +0000
          Re: Program to sort three integers bartekltg <bartekltg@gmail.com> - 2015-11-11 23:50 +0100
        Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-06 22:52 +0000
          Re: Program to sort three integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-07 01:17 +0000
      Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 01:24 -0800
        Re: Program to sort three integers Chad <cdalten@gmail.com> - 2015-11-07 02:04 -0800
    Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 00:57 -0800
  Re: Program to sort three integers Barry Schwarz <schwarzb@dqel.com> - 2015-11-06 10:14 -0800
    Re: Program to sort three integers Richard Heathfield <rjh@cpax.org.uk> - 2015-11-06 18:27 +0000
  Re: Program to sort three integers Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-06 11:22 -0800
    Re: Program to sort three integers Alla _ <modelling.data@gmail.com> - 2015-11-07 01:15 -0800
  Re: Program to sort three integers Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-07 00:57 -0800
  Re: Program to sort three integers bartekltg <bartekltg@gmail.com> - 2015-11-10 02:07 +0100

csiph-web