当前位置:首页 » 编程软件 » 编译原理实验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);
    }

热点内容
javaforstring数组 发布:2025-09-24 18:04:16 浏览:799
m3攻丝编程 发布:2025-09-24 18:04:05 浏览:680
编译链接同名库 发布:2025-09-24 17:51:01 浏览:691
阿里云服务器无法执行 发布:2025-09-24 17:34:39 浏览:52
怎么查看安卓版本 发布:2025-09-24 17:30:12 浏览:995
c语言毫秒 发布:2025-09-24 17:22:16 浏览:459
安卓系统如何设置照片保存时间 发布:2025-09-24 17:20:35 浏览:310
安卓什么牌子的好用 发布:2025-09-24 17:15:35 浏览:356
电脑搭建的服务器的地址 发布:2025-09-24 17:04:51 浏览:736
租房如何换入户密码 发布:2025-09-24 16:58:56 浏览:732