int table[]={1,2,3,4}; を int table[]={1,2,3,4,5}; に変えてもエラーにならないというだけで、
本当に要素数が5でいいのかは不明。

int table[4]={1,2,3,4}; から int table[5]={1,2,3,4,5}; に変える場合は本当に変える意思が
あると考えられるし、間違って int table[4]={1,2,3,4,5}; としてもエラーになるんだから害なし。