多次元配列の[0][0]から[2][4]まで順番に表示したいのですが
これで行けると思ったコードが[0][0]しか表示してくれません
どこがおかしいのか教えてください

#include<stdio.h>

int main()
{
int h[3][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}},
i,x;

for (i = 0, x = 0; i < 3; i++){
printf ( "h[%d][%d] = %d\n" ,x,i,h[x][i]);

if (i = 2){
if (x = 4)break;
i = 0;
x++;
}

}
return 0;

}