主题:请教高手
我在一个网站上看到了这样一个的程序
但我没学过pascal语言,所以有点看不懂,
还请各位高手不吝赐教,指点鄙人一二,为每一个句子加上注释,或者也可把它转换成c
语言程序,
鄙人在此谢谢各位了
程序是:
find(char spel[])
{
int ss1=0;
int ii=0;
while((ss1==0)&&(ii<nlength))
{
if(!strcmp(spel,ntabl[ii]))ss1=1;
ii++;
}
if(ssl==1)return ii-1;
else return -1;
}
identifier()
{
int iii=0,j,k;
int ss=0;
k=0;
do
{
spelling[k]=ch;
k++;
readch();
}while(((ch>='a')&&(ch<='z'))||((ch>='0')&&(ch<='9')));
pline - -;
spelling[k]='\0';
while((ss=0)&&(iii<10))
{
if(!strcmp(spelling,reswords[iii].sp))ss1=1;
iii++;
}
if(ss=1)
{
buf[count].syl=reswords[iii-1].sy;
}
else
{
buf[count].syl=ident;
j=find(spelling);
if(j==-1)
{
buf[count].pos=tt1;
strcpy(ntabl[tt1],spelling);
ttl++;
nlength++;
}
else buf[count].pos=j;
}
count++;
for(k=0;k<10;k++)spelling[k]=' ';
}
请各位高手,过客指教!!!!
谢谢了
但我没学过pascal语言,所以有点看不懂,
还请各位高手不吝赐教,指点鄙人一二,为每一个句子加上注释,或者也可把它转换成c
语言程序,
鄙人在此谢谢各位了
程序是:
find(char spel[])
{
int ss1=0;
int ii=0;
while((ss1==0)&&(ii<nlength))
{
if(!strcmp(spel,ntabl[ii]))ss1=1;
ii++;
}
if(ssl==1)return ii-1;
else return -1;
}
identifier()
{
int iii=0,j,k;
int ss=0;
k=0;
do
{
spelling[k]=ch;
k++;
readch();
}while(((ch>='a')&&(ch<='z'))||((ch>='0')&&(ch<='9')));
pline - -;
spelling[k]='\0';
while((ss=0)&&(iii<10))
{
if(!strcmp(spelling,reswords[iii].sp))ss1=1;
iii++;
}
if(ss=1)
{
buf[count].syl=reswords[iii-1].sy;
}
else
{
buf[count].syl=ident;
j=find(spelling);
if(j==-1)
{
buf[count].pos=tt1;
strcpy(ntabl[tt1],spelling);
ttl++;
nlength++;
}
else buf[count].pos=j;
}
count++;
for(k=0;k<10;k++)spelling[k]=' ';
}
请各位高手,过客指教!!!!
谢谢了