ch2-enum

Chapter_2     Exercise_2-1     strlen Uninitialized_variables     Exercise_2-2







enum.c     K&R, p. 39         download


#include <stdio.h> // for printf(), putchar()

int main()
{
enum boolean {FALSE, TRUE};
enum ny {NO, YES};
enum escapes {BELL = '\a', BACKSPACE = '\b', TAB = '\t',
NEWLINE = '\n', VTAB = '\v', RETURN = '\r'};
enum separators {BLANK = ' ', COMMA = ','};
enum months {JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC};
enum digits {ZERO, ONE, TWO, THREE, FOUR,
FIVE, SIX, SEVEN, EIGHT, NINE};
enum chars {CH0 = '0', CH1, CH2, CH3, CH4,
CH5, CH6, CH7, CH8, CH9};

enum digits zero = ZERO;
int one = ONE;

printf("%d, %d\n", zero, one); // 0, 1
zero++, one++;
printf("%d, %d\n", zero, one); // 1, 2
zero += 10;
one += 10;
printf("%d, %d\n", zero, one); // 11, 12

for (zero = ZERO; zero <= NINE; zero++)
{printf("%d%c%c", zero, COMMA, BLANK);} // 0, 1, ..., 9,
putchar(NEWLINE);

for (one = JAN; one <= DEC; one++)
{printf("%d%c%c", one, COMMA, BLANK);} // 1, 2, ..., 12,
putchar(NEWLINE);

enum chars f(void) {return zero;} // `zero' is of type `digits'
enum digits g(void) {return one;} // `one' is an `int'

printf("%d, %d\n", f(), g()); // 10, 13

char c;
int i;

for (c = CH0; c <= CH9; c++) // print as characters
{printf("%c%c%c", c, COMMA, BLANK);} // 0, 1, ..., 9,
putchar(NEWLINE);

for (i = CH0; i <= CH9; i++) // ASCII values
{printf("%d%c%c", i, COMMA, BLANK);} // 48, 49, ..., 57,
putchar(NEWLINE);

return 0;
}
/*
gcc enum.c -o enum
./enum
0, 1
1, 2
11, 12
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
10, 13
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
*/









Chapter_2     Exercise_2-1     strlen BACK_TO_TOP Uninitialized_variables     Exercise_2-2



Comments

Popular posts from this blog

Contents

Blogger Page Margins in Contempo