Deutsch English Français Italiano |
<vhae7k$2j8e$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Lew Pitcher <lew.pitcher@digitalfreehold.ca> Newsgroups: comp.lang.c Subject: Re: else ladders practice Date: Sat, 16 Nov 2024 15:37:24 -0000 (UTC) Organization: A noiseless patient Spider Lines: 47 Message-ID: <vhae7k$2j8e$1@dont-email.me> References: <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <slrnvi746p.fkp.dan@djph.net> <else-20241116103316@ram.dialup.fu-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sat, 16 Nov 2024 16:37:25 +0100 (CET) Injection-Info: dont-email.me; posting-host="82d39198c93a08d14caed8aae544c468"; logging-data="85262"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+dZ7fNnN7sRlouuPSnrzeEcaM60Ah9xbY=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:TfG5urhdQ3sWmcPjrX6KS2i+bwE= Bytes: 2550 On Sat, 16 Nov 2024 09:42:49 +0000, Stefan Ram wrote: > Dan Purgert <dan@djph.net> wrote or quoted: >>if (n==0) { printf ("n: %u\n",n); n++;} >>if (n==1) { printf ("n: %u\n",n); n++;} >>if (n==2) { printf ("n: %u\n",n); n++;} >>if (n==3) { printf ("n: %u\n",n); n++;} >>if (n==4) { printf ("n: %u\n",n); n++;} >>printf ("all if completed, n=%u\n",n); > > My bad if the following instruction structure's already been hashed > out in this thread, but I haven't been following the whole convo! > > In my C 101 classes, after we've covered "if" and "else", > I always throw this program up on the screen and hit the newbies > with this curveball: "What's this bad boy going to spit out?". > > Well, it's a blue moon when someone nails it. Most of them fall > for my little gotcha hook, line, and sinker. > > #include <stdio.h> > > const char * english( int const n ) > { const char * result; > if( n == 0 )result = "zero"; > if( n == 1 )result = "one"; > if( n == 2 )result = "two"; > if( n == 3 )result = "three"; > else result = "four"; > return result; } > > void print_english( int const n ) > { printf( "%s\n", english( n )); } > > int main( void ) > { print_english( 0 ); > print_english( 1 ); > print_english( 2 ); > print_english( 3 ); > print_english( 4 ); } If I read your code correctly, you have actually included not one, but TWO curveballs. Well done! -- Lew Pitcher "In Skills We Trust"