From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 10db24,4cf070091283b555 X-Google-Attributes: gid10db24,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public From: adam@irvine.com (Adam Beneschan) Subject: Re: What's the best language to learn? [was Re: Should I learn C or Pascal?] Date: 1996/08/21 Message-ID: <4vfkl6$i70@krusty.irvine.com>#1/1 X-Deja-AN: 175653188 distribution: inet references: <4vdnod$5i8@news1.mnsinc.com> organization: /z/news/newsctl/organization newsgroups: comp.edu,comp.lang.ada,comp.lang.c,comp.lang.c++,comp.unix.programmer Date: 1996-08-21T00:00:00+00:00 List-Id: huang@mnsinc.com (Szu-Wen Huang) writes: >Mark Wooding (mdw@excessus.demon.co.uk) wrote: >[snip] >: char buf[...]; >: char *p; > >: ... > >: while (buf[0]==' ') >: { >: for (p=buf;p[0]=p[1];p++) >: ; >: } > >: while (buf[strlen(buf)-1]==' ') >: buf[strlen(buf)-1]=0 > >: I can't believe that anyone with an understanding of what goes on `under >: the covers' would possibly write anything like this without feeling ill. >: An inkling of what this would be translated into by any implementation >: would surely avoid horrors like this. [snip] >This code works, by the way, as far as I can tell. No, it doesn't. Try it when "buf" consists entirely of spaces. Then, try to debug a C program that contains this code, when "buf" happens to be preceded in memory by a pointer whose value at that point just happens to be 0x40001820 or something else that ends in 0x20. At least in Ada, if you tried something this stupid, your program would get an exception during testing. -- Adam