c语言运算符进栈操作 - 爱问答

(爱问答)

c语言运算符进栈操作

如图 这个为什么除号在乘号之前呀 上面的解释为什么遇到第二个左括号要让除号出栈?c语言 运算符进栈操作

/*   数据结构-栈   *//*   异常的细节处理还没弄好*/#include <iostream>#include <stdlib.h>#include <malloc.h>#define len_chu_shi 50   //初始空间大小#define len_zeng_jia 10  //额外增加空间大小#define OK 0       //正确#define OVER -2     //#define ERROR -1   //using namespace std;typedef int elem_type;          //元素类型typedef int function_type;      //函数类型typedef struct zhan{   elem_type *top;    //栈顶   elem_type *base;   //栈底   int len;           //当前空间大小}zhan;                //栈结构 function_type Init_zhan(zhan *exam);//初始化栈function_type Get_top(zhan *exam,elem_type *e);//获取栈顶元素function_type Add_top(zhan *exam,elem_type *e);//增加栈顶元素function_type Delete_top(zhan *exam, elem_type *e);//删除栈顶元素 int main(int argc,char *argv[]){   zhan *example = (zhan *)malloc(sizeof(zhan));   Init_zhan(example);   return OK;} function_type Init_zhan(zhan *exam){   exam->base = (elem_type *)malloc(len_chu_shi*sizeof(elem_type));   if(!exam->base)  //分配失败     exit(OVER);   exam->top = exam->base;   exam->len = len_chu_shi;   return OK;}//--endfunction_type Get_top(zhan *exam,elem_type *e){   if(!exam->base)     exit(OVER);   *e = *(exam->top - 1);  //不能用自减运算符,那样会改变栈顶指针的值   return OK;}//--endfunction_type Add_top(zhan *exam,elem_type *e){   if(exam->len <= exam->top - exam->base)  //我个人觉得,如果 已经"<",就已经数据溢出了,就应该报错     exam->base = (elem_type *)realloc(exam->base,(exam->len + len_zeng_jia)*sizeof(elem_type));   if(!exam->base)  //分配失败     exit(OVER);   *(exam->top++) = *e;   //应该是先改变栈顶指针的内容,然后栈顶指针再自增   exam->len += len_zeng_jia;   return OK;}//--endfunction_type Delete_top(zhan *exam, elem_type *e){   if(!exam->base)  //空栈     exit(OVER);   *e = *(--exam->top);  //应该是栈顶指针先自减,然后获取栈顶指针的内容   return OK;}//--end


相关标签:c语言运算

下一篇:缺少列表分割符或

上一篇:stratadesign3d怎样打开制作界面

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?