以下のコードは正しいですか?
const char* state2Str(enum State state)
{
switch (state)
{
case stateStopped: return "START";
case stateRunning: return "RUNNING";
default: return "UNKNOWN";
}
}
printf("State is: %s\n", state2Str(stateRunning));
私が心配しているのは、関数が一時オブジェクトへのポインターを返すことです。そのような戻り値の寿命は何ですか? 言語は C89 です。