void transpose(smaxix A,smaxix B)
{
   int m,n,p,q,t,col;
   m=A[0][0];n=A[0][1];t=A[0][2]; //m为A的行数,n为列数,t为非0元素个数
   B[0][0]=n;B[0][1]=m;B[0][2]=t;
   if(t>0)
   {
      q=1;
      for(col=0;col<n;col++)   //按列转置
          for(p=1;p<=t;p++)
             if(A[p][1]==col)
             {
                 B[q][0]=A[p][1];
                 B[q][1]=A[p][0];
                 B[q][2]=A[p][2];
                 q++;
              }
    }
}
麻烦哪位帮我看看道程序是如何完成三元组的转置的哦,详细说下那个if语句的功能。