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


Groups > comp.lang.c > #388961

Re: else ladders practice

From ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups comp.lang.c
Subject Re: else ladders practice
Date 2024-11-16 09:42 +0000
Organization Stefan Ram
Message-ID <else-20241116103316@ram.dialup.fu-berlin.de> (permalink)
References <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <slrnvi746p.fkp.dan@djph.net>

Show all headers | View raw


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 ); }

Back to comp.lang.c | Previous | Next | Find similar


csiph-web