Надыбал драфт стандарта с89: http://port70.net/~nsz/c/c89/c89-draft.html
Не нашел про то, допустима ли запятая после последнего элемента *массива*. Про запрет для enum'а знаю. gcc с -std=c89 не ругается, но я ему не очень доверяю в таких вопросах.
#include <stdio.h>
const char * array[] =
{
"first",
"second", // <--
};
int main()
{
printf("%s, %s\n", array[0], array[1]);
return 0;
}