为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码是关于push函数的内容,请问有谁知道吗?

以下代码是关于push函数的内容,请问有谁知道吗?

肥皂起泡泡 2022-02-11 10:06:59
以下是push函数int push(stack &s,char e){if(s.top-s.base>=stacksize) 这里为什么要> 不是=就好么{s.base=(char *)realloc(s.base,(stacksize+10)*sizeof(char));if(!s.base) exit(0);s.top=s.base+stacksize; 这句会不会多余,不是已经指向这里了么stacksize+=10;}*s.top++=e;这句++=怎样执行的,忘了}
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

if(s.top-s.base>=stacksize) //如果CPU出现计算失误,s.top指向错误的位置,这句有容错功能.
s.top=s.base+stacksize; 这句不会多余,当出错时,这句把错误改回来,不出错时,这只是一个冗余,没有影响系统性能.
在做程序时,为了程序的可靠性,常用冗余的方法.
冗余有很多地方都用的上.比如用于检错的,CRC循环冗余检错码.

查看完整回答
反对 回复 2022-02-14
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

没说清啊!s.base是什么类型的?是整型还是(char *)?
if(s.top-s.base>=stacksize)可以不用>=,但不能用'=', 要用'=='
*s.top++=e是这样执行:((*(s.top))++)=e,没有复合赋值'++='

查看完整回答
反对 回复 2022-02-14
  • 2 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号