图意思是给枚举类型变量 赋值 没有任何意义和作用吗?(语言-c语言)

图中意思是 给枚举类型的变量赋值 没有任何意义和作用吗?
没懂这个。。

img

比如枚举值只有0,1,2
但是你给它赋值成3并不会报错
这是因为c语言是弱类型,在c#和java里这样赋值是不允许的
所以虽然它是个int,但是不要真把它当int来用,应该给它赋值一个枚举值,否则容易出现bug,可读性也会非常差