我在C语言中有一个枚举,如下所示:
typedef enum {
idle,
backup,
charge,
} ENUM_LUMI_STATE;
我有以下功能:
ENUM_LUMI_STATE controllerGetState(void) {
return idle;
}
我想在这里打印:
printf("the current status of the system is %s \r\n", controllerGetState());
如您在此处看到的,结果是晦涩的:
系统当前状态为þqst
我要打印的系统当前状态为“空闲”。 你能告诉我怎么做吗?
答案 0 :(得分:1)
controllerGetState(void)函数返回一个枚举,而不是字符串。因此,使用%s作为返回值将返回垃圾。您可以使用%d来获取值,在这种情况下,该值为0。
中给出