使用 -Wall -pedantic
#include <limits.h>
#include <stdio.h>
int main(void)
{
enum x {
a,
max = INT_MAX,
out_1
};
enum y {
b,
out_2 = INT_MAX + 1
};
printf("%d %d\n", out_1, out_2);
return 0;
}
铿锵返回
demo.c:9:3: warning: overflow in enumeration value
out_1
^
如您所见,编译器不会警告 out_2 溢出,他的值在编译时是未知的?