求助 c语言程序分析
下面的是一个大程序中的一个小程序 帮我分析一下 尽量详细 具体到每行就更好了#include<stdio.h>
#include<io.h>
#include<string.h>
#include<stdlib.h>
#define L 5
#define H 20000
int hh;
int hjqs,hjqt;
int dsh;//倒数第几个数
int fun3(int sj[][L],int n,int m)//9个数字中有不同的n个数字,每行读取倒数m个数组成方阵
{
int i,j,q,kj,kj0;
int ii[2]={0,0},sum,sum0;
int hjqss,hjqtt;
sum=sum0=0;
//for(q=hh-1;q>0;q-=m+1)
for(i=hh-1;i>0;)
{
struct tt hjq={0,1,2,3,4,5,6,7,8,9,0};
kj=1;
if(ii[0]==0)
{
if(ii[1]==1)
{
if(sum<sum0){
sum=sum0;
hjqs=hjqss;
hjqt=hjqtt+1;
}
sum0=0;
}
}
else
{
if(ii[1]==0)hjqss=i;
hjqtt=i;
sum0++;
}
ii[1]=ii[0];
kj0=1;
for(;i>0;i--)
{
for(j=L-1;j>=L-m;j--)
{
if(hjq.an==n){kj0=0;break;}
if(hjq.a[sj[i][j]]!=-1){
hjq.a[sj[i][j]]=-1;
hjq.an++;
}
}
if(kj0==0)break;
}
if(hjq.an<n){ii[0]=0;break;}
if(hjq.an>n)
{
ii[0]=0;
continue;
}
for(j=L-1;j>=L-m;j--)
{
if(hjq.a[sj[i][j]]!=-1)
{
ii[0]=0;
kj=0;
break;
}
}
if(kj==1)ii[0]=1;
}
return (sum>sum0?sum:sum0);
}