typedef enum {red, yellow,green} light; int old_light; void f() { old_light=(int) swap(green); } light swap(light new_light){ static light l=red; light tmp; tmp=l; l=new_light; return tmp; }