C语言枚举型常量如何输出

Python017

C语言枚举型常量如何输出,第1张

在C语言中,如果枚举常量中包含有负数,那么系统按照整型来处理,否则按照无符号整型处理。

所以在输出的时候,枚举类型也要区分是否带负数情况,如果带负数,那么用%d输出,否则用%u输出。

不过,对于不带负数的枚举,如果值范围不会超过最大的int型整数2147483647,那么用%d来输出不带负数的枚举常量也是可以的。

在c语言中,枚举变量,即以enum关键字定义的变量,是按照整型或者无符号整型来处理的。1如果在枚举变量中,不存在负值,如enumtest{a,b,}这样的定义,系统会将该枚举变量按照无符号整型处理,即unsignedint型。输出的时候使用%u格式即可。enumtestt=aprintf("%u",t)2如果在枚举变量中存在负值,那么系统按整型处理,即int型。如定义enumtest{a=-199,b,}输出时,需要用%d格式:enumtestt=aprintf("%d",t)3由于枚举变量在书写时,一般不会太大,很少有在没有负数的时候,即按照无符号数处理的时候超出有符号数所能表示的正数范围,即一般不会把最高位置一,所以大多数情况下,用%d输出都是没问题的。