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


Groups > comp.lang.c > #402647 > unrolled thread

Taming The Switch-Statement

Started byLawrence D’Oliveiro <ldo@nz.invalid>
First post2026-10-03 08:43 +0000
Last post2026-10-11 22:12 +0000
Articles 20 on this page of 187 — 20 participants

Back to article view | Back to comp.lang.c


Contents

  Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-03 08:43 +0000
    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 11:24 +0100
      Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 22:15 +0000
    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-03 14:22 +0200
    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-03 18:02 +0200
      Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:24 +0800
      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 17:36 +0100
        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-03 16:31 -0700
          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-04 10:23 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 12:18 +0100
          Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:20 +0200
            Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:34 +0000
              Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:04 -0700
        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:18 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 16:09 +0100
            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 16:59 +0000
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 18:30 +0100
                Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-04 19:49 +0100
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 20:35 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 22:27 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 22:47 +0100
                  Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 21:59 +0000
        Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-04 23:38 +0000
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:24 +0100
            Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:48 +0000
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 00:11 +0100
                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 09:49 +0200
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 11:12 +0200
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:41 +0200
                      Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-06 12:33 +0100
                        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:16 +0100
                          Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:37 +0000
                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 17:27 +0100
                              Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-06 23:14 +0000
                                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 01:25 +0100
                                  Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 04:19 +0000
                                    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-07 06:28 +0000
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:39 +0100
                                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 12:57 +0200
                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:32 +0100
                                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 15:10 +0000
                                        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 19:41 +0100
                                          Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-08 04:49 +0000
                                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-08 12:24 +0100
                                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 09:07 +0200
                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:49 +0100
                                      Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 13:11 +0200
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 16:17 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:32 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:25 +0200
                          Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:39 +0000
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:48 +0200
                              Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 18:12 +0000
                                [OT] substances (was Re: Taming The Switch-Statement) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:50 +0200
                                Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:06 -0700
                      Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:25 +0200
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:28 +0200
                          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-07 15:16 +0200
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 16:40 +0200
                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 07:24 -0700
                      Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:08 -0700
                        Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 23:45 +0000
                          Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:08 -0700
                          Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:35 +0200
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 12:33 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:16 +0200
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 16:41 -0700
                Re: Taming The Switch-Statement tTh <tth@none.invalid> - 2026-10-06 12:14 +0200
                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:43 +0200
                Re: Taming The Switch-Statement Jim Jackson <jj@franjam.org.uk> - 2026-10-06 11:47 +0000
                Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:05 -0700
                Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-07 00:42 +0000
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 13:52 +0100
                    Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-07 14:06 -0700
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 23:31 +0100
        Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:32 +0000
          Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 06:07 +0800
          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 16:42 -0700
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 18:05 -0700
              Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 09:04 +0200
                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:11 -0700
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:40 +0200
              Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 00:59 -0700
                Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 08:16 +0000
                  Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:21 -0700
            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:43 +0000
              Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:36 +0200
        Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 20:36 -0700
    Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:20 +0800
    Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 09:05 -0700
      Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-04 23:44 +0000
        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:46 +0100
          Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 20:48 -0700
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-05 06:24 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 11:09 +0100
          Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:22 +0800
            Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:26 +0800
    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 00:25 +0000
      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 01:58 +0100
        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-09 19:17 -0700
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 11:53 +0100
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 14:01 +0200
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 14:11 +0100
                Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:34 +0800
                  Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:58 +0800
                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-10 17:50 +0200
                  Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 05:52 +0000
                    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:16 +0000
                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 23:38 +0000
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 11:58 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 14:42 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:39 +0100
                        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 15:35 -0700
                    Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 14:42 +0000
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 17:23 +0100
                        Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 17:48 +0000
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 19:10 +0100
                            Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-12 07:01 +0000
                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 16:41 +0100
                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:08 +0200
                  Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:02 +0300
                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 19:03 +0000
                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:29 +0300
                    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 21:55 +0200
                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 23:03 +0300
                        Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 22:33 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:53 +0100
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:16 +0200
                            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-11 15:29 +0000
                          Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-10 15:30 -0700
                            Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 22:58 +0000
                              Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:09 +0800
                                Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-11 10:14 +0000
                                  Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:12 +0000
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:58 +0200
                          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:32 -0700
                            Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-11 01:58 +0300
                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 01:43 +0100
                            Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:12 +0800
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 04:07 +0200
                              Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 20:13 -0700
                                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:36 +0200
                        Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 04:26 -0700
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 13:35 +0100
                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 06:13 -0700
                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:51 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 15:33 +0200
                              Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-11 09:01 -0700
                                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 19:17 +0200
                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 18:57 +0100
                                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:28 -0700
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:02 +0100
                                        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 16:29 -0700
                                      Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-12 04:03 -0700
                                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:05 +0200
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 14:37 +0100
                                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:12 +0200
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:38 -0700
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:09 +0100
                    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:14 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 23:01 +0100
                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 08:00 +0000
                        Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:27 +0200
                          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:49 +0200
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:30 -0700
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 02:12 +0100
                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 19:55 -0700
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 11:00 +0200
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 12:21 +0100
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:04 -0700
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:05 +0100
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:22 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 11:42 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:15 +0200
                            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 14:34 +0000
                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 22:36 +0100
          Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-10 13:14 +0000
          Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 19:50 +0300
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:13 +0200
              Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:54 -0700
                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:41 +0200
                  Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:51 +0800
                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 11:41 +0200
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:44 -0700
          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:56 -0700
      Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:26 +0000
        Re: Taming The Switch-Statement Jon Ribbens <jon+usenet@unequivocal.eu> - 2026-10-11 22:12 +0000

Page 7 of 10 — ← Prev page 1 … 5 6 [7] 8 9 10  Next page →


#402890

FromMichael S <already5chosen@yahoo.com>
Date2026-10-10 22:02 +0300
Message-ID<20261010220212.000063fd@yahoo.com>
In reply to#402887
On Sat, 10 Oct 2026 20:08:20 +0200
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:

> On 2026-10-10 15:11, bart wrote:
> > 
> > Well, Algol 68 doesn't even have 'break'. For unusual control-flow
> > it needs goto.  
> 
> Yes. - And while "C" has 'goto' as well it also supports 'break' for
> some purposes; e.g. as a loop-exit, so it makes sense to reuse that
> keyword for other purposes as in 'switch' where it's been useful.
>

After practicing C programming for more than 35 years I am deeply
convinced that reuse of the same 'break' keyword for loops and for
switch was a mistake. But then again, DRM did not have a benefit
of hindsight.

[toc] | [prev] | [next] | [standalone]


#402891

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-10 19:03 +0000
Message-ID<11ae26v$obj$1@reader2.panix.com>
In reply to#402890
In article <20261010220212.000063fd@yahoo.com>,
Michael S  <already5chosen@yahoo.com> wrote:
>On Sat, 10 Oct 2026 20:08:20 +0200
>Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
>
>> On 2026-10-10 15:11, bart wrote:
>> > 
>> > Well, Algol 68 doesn't even have 'break'. For unusual control-flow
>> > it needs goto.  
>> 
>> Yes. - And while "C" has 'goto' as well it also supports 'break' for
>> some purposes; e.g. as a loop-exit, so it makes sense to reuse that
>> keyword for other purposes as in 'switch' where it's been useful.
>>
>
>After practicing C programming for more than 35 years I am deeply
>convinced that reuse of the same 'break' keyword for loops and for
>switch was a mistake. But then again, DRM did not have a benefit
>of hindsight.

Perhaps you mean "DMR", aka, Dennis Ritchie.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#402892

FromMichael S <already5chosen@yahoo.com>
Date2026-10-10 22:29 +0300
Message-ID<20261010222949.00002c96@yahoo.com>
In reply to#402891
On Sat, 10 Oct 2026 19:03:59 -0000 (UTC)
cross@spitfire.i.gajendra.net (Dan Cross) wrote:

> In article <20261010220212.000063fd@yahoo.com>,
> Michael S  <already5chosen@yahoo.com> wrote:
> >On Sat, 10 Oct 2026 20:08:20 +0200
> >Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
> >  
> >> On 2026-10-10 15:11, bart wrote:  
> >> > 
> >> > Well, Algol 68 doesn't even have 'break'. For unusual
> >> > control-flow it needs goto.    
> >> 
> >> Yes. - And while "C" has 'goto' as well it also supports 'break'
> >> for some purposes; e.g. as a loop-exit, so it makes sense to reuse
> >> that keyword for other purposes as in 'switch' where it's been
> >> useful. 
> >
> >After practicing C programming for more than 35 years I am deeply
> >convinced that reuse of the same 'break' keyword for loops and for
> >switch was a mistake. But then again, DRM did not have a benefit
> >of hindsight.  
> 
> Perhaps you mean "DMR", aka, Dennis Ritchie.
> 
> 	- Dan C.
> 

Yes, thank you.

[toc] | [prev] | [next] | [standalone]


#402895

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-10 21:55 +0200
Message-ID<11ae56o$cjlv$4@dont-email.me>
In reply to#402890
On 2026-10-10 21:02, Michael S wrote:
> On Sat, 10 Oct 2026 20:08:20 +0200
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
> 
>> Yes. - And while "C" has 'goto' as well it also supports 'break' for
>> some purposes; e.g. as a loop-exit, so it makes sense to reuse that
>> keyword for other purposes as in 'switch' where it's been useful.
> 
> After practicing C programming for more than 35 years I am deeply
> convinced that reuse of the same 'break' keyword for loops and for
> switch was a mistake. [...]

Well, I think the principal design criticism that bart made had a
stronger impact on the "C" language design than the profane re-use
of the 'break' keyword. My impression is that most languages try to
minimize the amount of keywords. (The extreme scarcity of keywords
in "C" and the syntactical consequences is actually something I
rather don't really like with C-like languages.)

But I got curious about what your concrete reasons for that deeply
conviction are; in which way was it a "mistake"?

Janis

[toc] | [prev] | [next] | [standalone]


#402897

FromMichael S <already5chosen@yahoo.com>
Date2026-10-10 23:03 +0300
Message-ID<20261010230355.00005189@yahoo.com>
In reply to#402895
On Sat, 10 Oct 2026 21:55:04 +0200
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:

> On 2026-10-10 21:02, Michael S wrote:
> > On Sat, 10 Oct 2026 20:08:20 +0200
> > Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
> >   
> >> Yes. - And while "C" has 'goto' as well it also supports 'break'
> >> for some purposes; e.g. as a loop-exit, so it makes sense to reuse
> >> that keyword for other purposes as in 'switch' where it's been
> >> useful.  
> > 
> > After practicing C programming for more than 35 years I am deeply
> > convinced that reuse of the same 'break' keyword for loops and for
> > switch was a mistake. [...]  
> 
> Well, I think the principal design criticism that bart made had a
> stronger impact on the "C" language design than the profane re-use
> of the 'break' keyword. My impression is that most languages try to
> minimize the amount of keywords. (The extreme scarcity of keywords
> in "C" and the syntactical consequences is actually something I
> rather don't really like with C-like languages.)
> 
> But I got curious about what your concrete reasons for that deeply
> conviction are; in which way was it a "mistake"?
> 
> Janis
> 

The cases where I want to break out of the loop from the switch in the
body of the loop are very common.

[toc] | [prev] | [next] | [standalone]


#402905

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-10 22:33 +0200
Message-ID<11ae7eb$cjlv$6@dont-email.me>
In reply to#402897
On 2026-10-10 22:03, Michael S wrote:
> 
> The cases where I want to break out of the loop from the switch in the
> body of the loop are very common.

Ah, so you'd have needed something like Kornshell's 'break 2' to leave
more than one level. - I suppose, you needed to used a 'goto' instead
(and avoid the 'break' completely for those cases).

Janis

[toc] | [prev] | [next] | [standalone]


#402907

Frombart <bc@freeuk.com>
Date2026-10-10 21:53 +0100
Message-ID<11ae8k3$2302a$1@dont-email.me>
In reply to#402905
On 10/10/2026 21:33, Janis Papanagnou wrote:
> On 2026-10-10 22:03, Michael S wrote:
>>
>> The cases where I want to break out of the loop from the switch in the
>> body of the loop are very common.
> 
> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
> more than one level. - I suppose, you needed to used a 'goto' instead
> (and avoid the 'break' completely for those cases).
No, there is only one level of loop here. But you can't use 'break' 
because it is doing double duty as a hack to get out of the middle of a 
switch statement.

[toc] | [prev] | [next] | [standalone]


#402912

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-10 23:16 +0200
Message-ID<11aea06$cjm0$6@dont-email.me>
In reply to#402907
On 2026-10-10 22:53, bart wrote:
> On 10/10/2026 21:33, Janis Papanagnou wrote:
>> On 2026-10-10 22:03, Michael S wrote:
>>>
>>> The cases where I want to break out of the loop from the switch in the
>>> body of the loop are very common.
>>
>> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
>> more than one level. - I suppose, you needed to used a 'goto' instead
>> (and avoid the 'break' completely for those cases).

> No, there is only one level of loop here. But you can't use 'break' 
> because it is doing double duty as a hack to get out of the middle of a 
> switch statement.

Re-read my post and try to understand what I wrote. - Good luck!

Janis

[toc] | [prev] | [next] | [standalone]


#402986

Fromscott@slp53.sl.home (Scott Lurndal)
Date2026-10-11 15:29 +0000
Message-ID<nXNyS.252602$ITPb.192320@fx05.iad>
In reply to#402907
bart <bc@freeuk.com> writes:
>On 10/10/2026 21:33, Janis Papanagnou wrote:
>> On 2026-10-10 22:03, Michael S wrote:
>>>
>>> The cases where I want to break out of the loop from the switch in the
>>> body of the loop are very common.
>> 
>> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
>> more than one level. - I suppose, you needed to used a 'goto' instead
>> (and avoid the 'break' completely for those cases).
>No, there is only one level of loop here. But you can't use 'break' 
>because it is doing double duty as a hack to get out of the middle of a 
>switch statement.
>

Burroughs BPL68 had EXITBLOCK, EXITCOND, EXITLOOP and EXITCASE as
mechanisms to break from nested loops, conditionals and case (switch)
statements.

[toc] | [prev] | [next] | [standalone]


#402918

FromAndrey Tarasevich <noone@noone.net>
Date2026-10-10 15:30 -0700
Message-ID<11aeeau$24vgh$1@dont-email.me>
In reply to#402905
On Sat 10/10/2026 1:33 PM, Janis Papanagnou wrote:
> On 2026-10-10 22:03, Michael S wrote:
>>
>> The cases where I want to break out of the loop from the switch in the
>> body of the loop are very common.
> 
> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
> more than one level.
Yes, but that would be rather inelegant in the overall scheme of things 
in C, since once we start talking about `break 2` it would be logical to 
consider `continue 2` as well (i.e. like Kornshell's `continue`).

But `break` and `continue` behave differently inside `switch` in C: the 
former can "see" the enveloping `switch` statements, while for the 
latter all enveloping `switch` statements are completely transparent. 
So, in order to refer to the same cycle one'd have to use different 
nesting numbers in `break` and `continue` when used inside `switch`(-es) 
in C. That would look quite confusing.

-- 
Best regards,
Andrey

[toc] | [prev] | [next] | [standalone]


#402921

FromLawrence D’Oliveiro <ldo@nz.invalid>
Date2026-10-10 22:58 +0000
Message-ID<11aefu7$254m6$1@dont-email.me>
In reply to#402918
On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote:

> But `break` and `continue` behave differently inside `switch` in C:
> the former can "see" the enveloping `switch` statements, while for
> the latter all enveloping `switch` statements are completely
> transparent. So, in order to refer to the same cycle one'd have to
> use different nesting numbers in `break` and `continue` when used
> inside `switch`(-es) in C. That would look quite confusing.

It also led to a major real-world calamity: the Great AT&T Telephone
Crash of 15th January 1990. To quote from Bruce Sterling’s “The Hacker
Crackdown”:

    As it happened, the problem itself -- the problem per se -- took
    this form. A piece of telco software had been written in C
    language, a standard language of the telco field. Within the C
    software was a long "do... while" construct. The "do... while"
    construct contained a "switch" statement. The "switch" statement
    contained an "if" clause. The "if" clause contained a "break." The
    "break" was *supposed* to "break" the "if clause." Instead, the
    "break" broke the "switch" statement.

Back at the time, law enforcement was just cottoning on to the idea
that evil people could use their technical skills with computers to
wreak havoc with all kinds of crucial infrastructure. AT&T figured
out, within nine hours, that the problem here was purely a mistake in
their software, but it took somewhat longer for some authorities to be
disabused of the notion that this was intentional sabotage.

<http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/>

[toc] | [prev] | [next] | [standalone]


#402928

FromJohann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid>
Date2026-10-11 09:09 +0800
Message-ID<FlByS.11178$mPXe.3035@fx06.ams4>
In reply to#402921
On 10/11/2026 6:58 AM, Lawrence D’Oliveiro wrote:
> On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote:
> 
>> But `break` and `continue` behave differently inside `switch` in C:
>> the former can "see" the enveloping `switch` statements, while for
>> the latter all enveloping `switch` statements are completely
>> transparent. So, in order to refer to the same cycle one'd have to
>> use different nesting numbers in `break` and `continue` when used
>> inside `switch`(-es) in C. That would look quite confusing.
> 
> It also led to a major real-world calamity: the Great AT&T Telephone
> Crash of 15th January 1990. To quote from Bruce Sterling’s “The Hacker
> Crackdown”:
> 
>      As it happened, the problem itself -- the problem per se -- took
>      this form. A piece of telco software had been written in C
>      language, a standard language of the telco field. Within the C
>      software was a long "do... while" construct. The "do... while"
>      construct contained a "switch" statement. The "switch" statement
>      contained an "if" clause. The "if" clause contained a "break." The
>      "break" was *supposed* to "break" the "if clause." Instead, the
>      "break" broke the "switch" statement.
> 
> Back at the time, law enforcement was just cottoning on to the idea
> that evil people could use their technical skills with computers to
> wreak havoc with all kinds of crucial infrastructure. AT&T figured
> out, within nine hours, that the problem here was purely a mistake in
> their software, but it took somewhat longer for some authorities to be
> disabused of the notion that this was intentional sabotage.
> 
> <http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/>

I don't see this as a problem with C.  This can happen in any program-
ming language, and code with nested control structures.

And if I recall correctly, you can't use /break/ with a label inside a
switch in Java -- please correct me if I'm wrong, I'm feeling lazy to
check it out right now -- which results in similar shenanigans and po-
tentially even more convoluted control structures.

So, Lawrence, please enlighten us about how you concoct convoluted con-
trol structures in Python, because that's what you live for.



Best wishes, and happy convolution inside control structures in C!
-- 
Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | via Easynews.com
https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

[toc] | [prev] | [next] | [standalone]


#402964

Fromram@zedat.fu-berlin.de (Stefan Ram)
Date2026-10-11 10:14 +0000
Message-ID<break-20261011111215@ram.dialup.fu-berlin.de>
In reply to#402928
Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote or quoted:
>I don't see this as a problem with C.  This can happen in any program-
>ming language, and code with nested control structures.

  I agree. Assuming a "break" will leave an "if" in C is an error
  of someone who has not learned C yet and who also did not bother
  to look up what he does not know or test his code. And it can
  perfectly be reproduced in other languages such as Python:

  main.py

while True:
    if True:
        break # leave the "if"
    print( "Success: If was left." )
print( "Failure: While was left." )    

  output

Failure: While was left.

  .

[toc] | [prev] | [next] | [standalone]


#403004

FromLawrence D’Oliveiro <ldo@nz.invalid>
Date2026-10-11 21:12 +0000
Message-ID<11agu3m$30k5e$3@dont-email.me>
In reply to#402964
On 11 Oct 2026 10:14:15 GMT, Stefan Ram wrote:

> On Sat, 10 Oct 2026 22:58:15 -0000 (UTC), Lawrence D’Oliveiro wrote:
>
>> On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote:
>>
>>> But `break` and `continue` behave differently inside `switch` in
>>> C: the former can "see" the enveloping `switch` statements, while
>>> for the latter all enveloping `switch` statements are completely
>>> transparent. So, in order to refer to the same cycle one'd have to
>>> use different nesting numbers in `break` and `continue` when used
>>> inside `switch`(-es) in C. That would look quite confusing.
>>
>> It also led to a major real-world calamity: the Great AT&T
>> Telephone Crash of 15th January 1990. To quote from Bruce
>> Sterling’s “The Hacker Crackdown”:
>>
>>     As it happened, the problem itself -- the problem per se --
>>     took this form. A piece of telco software had been written in C
>>     language, a standard language of the telco field. Within the C
>>     software was a long "do... while" construct. The "do... while"
>>     construct contained a "switch" statement. The "switch"
>>     statement contained an "if" clause. The "if" clause contained a
>>     "break." The "break" was *supposed* to "break" the "if clause."
>>     Instead, the "break" broke the "switch" statement.
>>
>> Back at the time, law enforcement was just cottoning on to the idea
>> that evil people could use their technical skills with computers to
>> wreak havoc with all kinds of crucial infrastructure. AT&T figured
>> out, within nine hours, that the problem here was purely a mistake
>> in their software, but it took somewhat longer for some authorities
>> to be disabused of the notion that this was intentional sabotage.
>>
>> <http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/>
>
> Assuming a "break" will leave an "if" in C is an error of someone
> who has not learned C yet ...

These were C experts -- they were software engineers working at AT&T
after all.

Bear in mind Bruce Sterling is not a C expert, or even a programming
expert. I have looked at several descriptions of the nature of the
bug, and I couldn’t find any (to link to) that were any better than
his.

The most natural interpretation I can think of is that the break
statement wasn’t supposed to cut short the if-statement as such; it
was meant to terminate a surrounding loop. That would have worked,
except that this particular break-statement was inside a
switch-statement in that loop, so all it did was cut short the
switch-statement. I think the surrounding loop was then left to repeat
endlessly without reaching any exit condition, which was the cause of
the failure.

[toc] | [prev] | [next] | [standalone]


#402934

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-11 03:58 +0200
Message-ID<11aeqfh$286mm$1@dont-email.me>
In reply to#402918
On 2026-10-11 00:30, Andrey Tarasevich wrote:
> On Sat 10/10/2026 1:33 PM, Janis Papanagnou wrote:
>> On 2026-10-10 22:03, Michael S wrote:
>>>
>>> The cases where I want to break out of the loop from the switch in the
>>> body of the loop are very common.
>>
>> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
>> more than one level.
>
> Yes, but that would be rather inelegant in the overall scheme of things 
> in C, since once we start talking about `break 2` it would be logical to 
> consider `continue 2` as well (i.e. like Kornshell's `continue`).
> 
> But `break` and `continue` behave differently inside `switch` in C: the 
> former can "see" the enveloping `switch` statements, while for the 
> latter all enveloping `switch` statements are completely transparent. 
> So, in order to refer to the same cycle one'd have to use different 
> nesting numbers in `break` and `continue` when used inside `switch`(-es) 
> in C. That would look quite confusing.

Personally I don't like jumps in programming at all, but sometimes a
break is clearer than embedding a boolean into a surrounding control
structure and keeping explicitly track of the exit state value. Even
less I like a 'goto'; the one case where I find it worthwhile, to jump
from within nested loops to the continuation point after the nested
loops, is not something I like, but I also only very rarely needed it
and I wouldn't mind using it. Similar with the 'break N' and 'continue
N' in Kornshell; I would be surprised if I had used it more than once
or at most twice in decades. - I'm generally using what the languages
provide and what is best maintainable. - As I see it there's no single
perfect way how to address that issue. YMMV.

Janis

[toc] | [prev] | [next] | [standalone]


#402919

FromKeith Thompson <Keith.S.Thompson+u@gmail.com>
Date2026-10-10 15:32 -0700
Message-ID<11aeee0$24k8m$1@kst.eternal-september.org>
In reply to#402905
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
> On 2026-10-10 22:03, Michael S wrote:
>> The cases where I want to break out of the loop from the switch in
>> the
>> body of the loop are very common.
>
> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
> more than one level. - I suppose, you needed to used a 'goto' instead
> (and avoid the 'break' completely for those cases).

Something like that, sure, but please not that.

Specifying the *number* of levels to break or continue is IMHO
horrible.  "break N" makes me count things so the computer doesn't
have to.

There are proposals, and precedents in other languages, for *named*
loops, and I'd like to see that in a future C.

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

[toc] | [prev] | [next] | [standalone]


#402922

FromMichael S <already5chosen@yahoo.com>
Date2026-10-11 01:58 +0300
Message-ID<20261011015833.00004d29@yahoo.com>
In reply to#402919
On Sat, 10 Oct 2026 15:32:32 -0700
Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:

> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
> > On 2026-10-10 22:03, Michael S wrote:  
> >> The cases where I want to break out of the loop from the switch in
> >> the
> >> body of the loop are very common.  
> >
> > Ah, so you'd have needed something like Kornshell's 'break 2' to
> > leave more than one level. - I suppose, you needed to used a 'goto'
> > instead (and avoid the 'break' completely for those cases).  
> 
> Something like that, sure, but please not that.
> 
> Specifying the *number* of levels to break or continue is IMHO
> horrible.  "break N" makes me count things so the computer doesn't
> have to.
> 
> There are proposals, and precedents in other languages, for *named*
> loops, and I'd like to see that in a future C.
> 

Yes. Break n is a maintanance nightmare.
Ada syntax (optional label before loop) is a lot better.

[toc] | [prev] | [next] | [standalone]


#402927

Frombart <bc@freeuk.com>
Date2026-10-11 01:43 +0100
Message-ID<11aem49$27di1$1@dont-email.me>
In reply to#402922
On 10/10/2026 23:58, Michael S wrote:
> On Sat, 10 Oct 2026 15:32:32 -0700
> Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
> 
>> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>>> On 2026-10-10 22:03, Michael S wrote:
>>>> The cases where I want to break out of the loop from the switch in
>>>> the
>>>> body of the loop are very common.
>>>
>>> Ah, so you'd have needed something like Kornshell's 'break 2' to
>>> leave more than one level. - I suppose, you needed to used a 'goto'
>>> instead (and avoid the 'break' completely for those cases).
>>
>> Something like that, sure, but please not that.
>>
>> Specifying the *number* of levels to break or continue is IMHO
>> horrible.  "break N" makes me count things so the computer doesn't
>> have to.
>>
>> There are proposals, and precedents in other languages, for *named*
>> loops, and I'd like to see that in a future C.
>>
> 
> Yes. Break n is a maintanance nightmare.


I use numbered loops (in my syntaxes). At the same time, I don't, since 
breaking across nested versions is uncommon.

But when needed, then invariably it will be the outermost loop, which 
also has the loop index '0', which be written 'all'.


> Ada syntax (optional label before loop) is a lot better.
Actually it makes little difference, maintenance-wise.

Both absolute references to loops (labels) and relative references 
(indices) have complementary set of problems, when loops are added or 
inserted or removed.

But as I said the most common requirement IME is to break out of either 
the current loop, or the whole lot.

[toc] | [prev] | [next] | [standalone]


#402929

FromJohann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid>
Date2026-10-11 09:12 +0800
Message-ID<XnByS.11179$mPXe.6097@fx06.ams4>
In reply to#402919
On 10/11/2026 6:32 AM, Keith Thompson wrote:
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>> On 2026-10-10 22:03, Michael S wrote:
>>> The cases where I want to break out of the loop from the switch in
>>> the
>>> body of the loop are very common.
>>
>> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
>> more than one level. - I suppose, you needed to used a 'goto' instead
>> (and avoid the 'break' completely for those cases).
> 
> Something like that, sure, but please not that.
> 
> Specifying the *number* of levels to break or continue is IMHO
> horrible.  "break N" makes me count things so the computer doesn't
> have to.
> 
> There are proposals, and precedents in other languages, for *named*
> loops, and I'd like to see that in a future C.
> 

What's wrong with labels?  We already have that.  You can name your
loops like this,

   foo: while ( bar ) {
     /* ... */
     for ( int i = 0 ; i < 10 ; i++ ) {
       /* ... */
       goto foo ;
     }
     /* ... */
   }

and do all kinds of control structures with just C89.  So, why would you
personally need named loops?  Can't you code C at all?


Best wishes, and happy named loops!
-- 
Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | via Easynews.com
https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

[toc] | [prev] | [next] | [standalone]


#402936

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-11 04:07 +0200
Message-ID<11aer17$286ml$2@dont-email.me>
In reply to#402919
On 2026-10-11 00:32, Keith Thompson wrote:
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>> On 2026-10-10 22:03, Michael S wrote:
>>> The cases where I want to break out of the loop from the switch in
>>> the
>>> body of the loop are very common.
>>
>> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
>> more than one level. - I suppose, you needed to used a 'goto' instead
>> (and avoid the 'break' completely for those cases).
> 
> Something like that, sure, but please not that.
> 
> Specifying the *number* of levels to break or continue is IMHO
> horrible.  "break N" makes me count things so the computer doesn't
> have to.

I agree; that's what I also dislike about it.

The point is the question what choices you have. The 'goto' is IMO
the worst; because of semantic interdependencies that will regularly
lead to semantical restrictions about its applicability (or placement
of labels); various languages have various restrictions, it's just
a mess! The 'break' is a "cheap" solution, but also very restricted.
There's yet other variants with their own drawbacks; I won't even
start with it.

> 
> There are proposals, and precedents in other languages, for *named*
> loops, and I'd like to see that in a future C.

One of the better possibilities, maybe; but still not satisfying for
my (very subjective) taste.

(Some language let you organize such things in completely other ways
with no need for jumps of any sort.)

Janis

[toc] | [prev] | [next] | [standalone]


Page 7 of 10 — ← Prev page 1 … 5 6 [7] 8 9 10  Next page →

Back to top | Article view | comp.lang.c


csiph-web