// Por dentro, un enum es un entero, y C no revisa su rango.
#include <stdio.h>

enum trip_state { TRIP_WAITING, TRIP_ON_ROUTE, TRIP_FINISHED };
enum fare { FARE_STUDENT = 100, FARE_ADULT = 250, FARE_NIGHT };

int main(void) {
    printf("%d %d %d\n", TRIP_WAITING, TRIP_ON_ROUTE, TRIP_FINISHED);
    printf("%d %d %d\n", FARE_STUDENT, FARE_ADULT, FARE_NIGHT);
    printf("sizeof(enum trip_state) = %zu\n", sizeof(enum trip_state));

    enum trip_state state = 7;
    printf("state = %d\n", state);

    int total = TRIP_FINISHED + FARE_ADULT;
    printf("total = %d\n", total);
    return 0;
}
