No hay nada que explicar... es así porque el algoritmo es así, y no hay mas. Simplemente recorre el array y lo va multiplicando y sumando de una manera un tanto peculiar.
¿Es un algoritmo de algo en especial?
Quizás si ordenas el código no te líes tanto:
#include <stdio.h>
int main()
{
printf("Datos de la Matriz A :\n");
int i,j,k;
int matriz [3][3];
int matriz1 [3][3];
int c [3][3];
for(i=0;i<=2;i++)
{
for (j=0;j<=2;j++)
{
printf("Escribir valor %d en %d:",i
,j
); scanf("%d",&matriz
[i
][j
]); }
}
printf("Datos de la Matriz B :\n");
for (i=0; i<=2; i++)
{
for (j=0; j<=2; j++)
{
printf("Escribir valor %d en %d:",i
,j
); scanf("%d",&matriz1
[i
][j
]); }
}
for (i=0; i<=2; i++)
{
for (j=0; j<=2; j++)
{
c[i][j]=0;
for (k=0; k<=2; k++)
{
c[i][j]=c[i][j]+(matriz[i][k]*matriz1[k][j]);
}
}
}
printf("Matriz resultante :");
for (i=0;i<=2;i++)
{
for (j=0;j<=2;j++)
{
}
}
return 0;
}
PD: Esto iría en otra sección.