当前位置:首页 » 编程软件 » 编译原理实验1

编译原理实验1

发布时间: 2025-04-11 16:57:12

❶ 学软件工程专业,难吗

我就是学软件工程的,怎么说呢,其实所有的专业都一样,没有什么特别好学,没有什么特别难学,你只要认真学习,就挺简单的。

希望有所帮助哦~~~比心

编译原理词法分析实验中, 文件写入顺序的问题(fputs)

1)fopen在代码中出现2次,没有必要

2)你的程序不对 你搞混和S这个字符和TOKEN。

你的第一个WHILE读入的是字符S,而TOKEN是由若干字符S构成的。而你的SWITCH(S)里面按理应该是组成TOKEN的规则,而你直接就输出了。这样如果你要结果,我给你改了下,你看下:

int main()
{
char token[20] = {''};
char s;
char strings[10] = "(34,_)";
struct _iobuf* fp_cifa;
int i = 0, j;
strings[6] = ' '
strings[7] = ''
//fp_cifa = fopen(“D:\cifa.txt "a+");

while((size_t)i != strlen(file))
{
for(j = 0; j < 20; j++)
{
token[j] = ''
}
s = file[i++];
while(s == ' ' || s == ' ')
{
s = file[i++];
}
switch(s)
{
caseƇ':
token[0]=s;
token[1]=''
digitprint(token, value_num, num_list);
break;
case'=':
token[0]=s;
token[1]=''
digitprint(token, value_num, num_list);
//fputs(strings, fp_cifa);
break;
default:
cout<<"error"<<endl;
}
}
//fclose(fp_cifa);
return 0;
}

  • void digitprint(char* a, int& value_num_, char num_list[100][20])//a是需要评定的字符串//num在符号表中的位置,需要转化为字符串然后输入到文件中
    {
    FILE* fp_cifa;
    char c[20] = "(34,01)";
    fp_cifa = fopen("D:\cifa.txt ", "a+");
    //fputs(c, fp_cifa);
    fputs(a,fp_cifa);//这里要显示 a 而不是c 你可以把a 拼到 c然后,再显示c
    fclose(fp_cifa);
    }

热点内容
没有文件夹重定向 发布:2025-04-29 10:09:24 浏览:595
松下压缩机厂 发布:2025-04-29 10:05:07 浏览:631
iar编译ram超限 发布:2025-04-29 09:53:10 浏览:946
存储芯片龙头 发布:2025-04-29 09:26:11 浏览:276
数据库线 发布:2025-04-29 09:19:44 浏览:75
linux命令使用 发布:2025-04-29 09:00:22 浏览:681
安卓手机选什么手机 发布:2025-04-29 08:50:10 浏览:214
安卓解压者 发布:2025-04-29 08:49:59 浏览:338
找不到system文件夹 发布:2025-04-29 08:45:00 浏览:832
外贸企业用什么服务器 发布:2025-04-29 08:33:45 浏览:828