帮忙解释一下,该怎么处理

帮忙解释一下帮忙解释一下这个程序,最好能一一对应,多谢了!main(){inti,j,kprintf( \n )for(i1i 5

帮忙解释一下
帮忙解释一下这个程序,最好能一一对应,多谢了!
main()
{
int   i,j,k;
printf( "\n ");
for(i=1;i <5;i++)    
    for(j=1;j <5;j++) 
     for   (k=1;k <5;k++)
      {
       if   (i!=k&&i!=j&&j!=k)      
       printf( "%d,%d,%d\n ",i,j,k);
      }
}


[解决办法]
for(i=1;i <5;i++)   /*i 从 1--到4 */  
  for(j=1;j <5;j++)  /* j 从 1--到4 */  
   for (k=1;k <5;k++) /*k从 1--到4 */  
    {
     if (i!=k&&i!=j&&j!=k) /*i,j,k互不相同*/   
     printf( "%d,%d,%d\n ",i,j,k);
    }
循环了 4 * 4 *4 次
但是只打印了 4 * 3 * 2种组合