printf("-4d",n);应该是printf("%-4d",n);如果是是编译问题的话应该是部分编译器不支持enum和int之间的隐式转换,但是一般都会支持int到enum的显式转换,建议你将i,j,k定义成int变量,i,j,k到pri用显式转换,如pri = (color)i;
printf("-4d",n);这里有个错误
你总得给个题意吧