0

La expresión dentro del bucle más interno es:
result[i][j] += X[i][k] * Y[k][j]
Si te das cuenta, no hay un =, sino un +=, es decir, no se guarda el resultado de la multiplicación en result[0][0], sino que se suma a lo que hubiera allí.
Dirás, vale, pero allí había cero por lo que al final es...