/*
* show a version of the if program using a switch
# you can set x to 9, 10, 11, 12 by defining X9, X10, X11, X12
* default is x = 10
* If you want the version that won't compile, set BADVAR
* If you want the version that "falls through", set NOBREAK
*
* Matt Bishop, ECS 36A
* April 9, 2024 original version
*/
#include <stdio.h>
int main(void)
{
int x = 10; /* variable used in the switch */
#ifdef BADVAR
int y = 9; /* variable used in the case -- illegal! */
#endif
/* now reser the value of x as desired */
#if defined(X9)
x = 9;
#elif defined(X10)
x = 10;
#elif defined(X11)
x = 11;
#elif defined(X12)
x = 12;
#endif
/*
* now the switch
*/
switch(x){
case 12:
printf("x is 12!\n");
break;
case 11:
printf("x is 11!\n");
break;
case 10:
printf("x is 10!\n");
#ifdef NOBREAK
/* FALLS THROUGH */
#else
break;
#endif
default:
printf("I have no clue what x is :(\n");
break;
#ifdef BADVAR
case y:
#else
case 9:
#endif
printf("x is 9!\n");
break;
}
/* all done! */
return(0);
}
|
ECS 36A, Programming & Problem Solving Version of April 2, 2024 at 12:13PM
|
You can get the raw source code here. |