标签:printf strlen 输入 .com 进一步 长度 exe std 分析
一、 实验目的
编制一个递归下降分析程序。
二、 实验内容和要求
输入:正规式
输出:判断该正规式是否正确。
三、 实验方法、步骤及结果测试
1. 源程序名:递归下降分析程序.c
可执行程序名:递归下降分析程序.exe
2.

3.主要程序段及其解释:
#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);
}
}
4. 运行结果及分析

四、 实验总结
通过这次的实验,对于递归又有了新的认识,对于工作原理也进一步的掌握了。本次实验对我帮助很大。
标签:printf strlen 输入 .com 进一步 长度 exe std 分析
原文地址:http://www.cnblogs.com/wha000/p/6188810.html