首页 > Web开发 > 详细

http://www.cnblogs.com/chenguangpeng/p/6188352.html 递归下降

时间:2017-05-16 12:13:35      阅读:384      评论:0      收藏:0      [点我收藏+]

#include<stdio.h>
#include<string>
char str[50];
int index=0;
void E(); //E->TX;
void X(); //X->+TX | e
void T(); //T->FY
void Y(); //Y->*FY | e
void F(); //F->(E) | i

int main() /*递归分析*/
{
int len;
int m;
printf("请输入要测试的次数:");
scanf("%d",&m);
while(m--)
{
printf("请输入字符串(长度<50>):\n");
scanf("%s",str);
len=strlen(str);
//str[len]=‘#‘;
str[len+1]=‘\0‘;
E();
printf("%s为合法符号串!\n",str);
strcpy(str,"");
index=0;
} return 0;
}

void E()
{ T(); X();}
void X()
{
if(str[index]==‘+‘)
{ index++;
T();
X();
} }
void T()
{ F(); Y(); }
void Y()
{ if(str[index]==‘*‘) {
index++;
F();
Y();
} }
void F()
{
if(str[index]==‘i‘)
{ index++; }
else if (str[index]==‘(‘)
{
index++;
E();
if(str[index]==‘)‘)
{ index++; }else
{
printf("\n非法的符号串!\n");
exit (0);
} }
else
{
printf("非法的符号串!\n");
exit(0);
}
}

http://www.cnblogs.com/chenguangpeng/p/6188352.html 递归下降

原文:http://www.cnblogs.com/helloaworld/p/6860350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!