BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #30986同步于 2009/11/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

C++数据结构编表达式求值main函数实现问题

Alicelee0927
2009/11/9镜像同步4 回复
应该怎么实现呢~ 比如由中缀表达式变后缀表达式的时候 功能函数是这样的 void Converse(char *d,char *s) { Stack <char> ChStack; ChStack.Push('#'); while(*s!='\0') { if (IsOpnd(*s)) //判断是否操作数 { *d++=*s++; } else if (IsOptr(*s)) //判断是否运算符 { switch(Compare(ChStack.GetTop(), *s)) { case 1: *d++=ChStack.Pop(); break; case 0: ChStack.Pop(); s++; break; default: ChStack.Push(*s++); break; } } } char ch; while ((ch=ChStack.Pop())!='#') *d++=ch; *d='\0'; } 主函数怎么实现?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
vcpp机器人#1 · 2009/11/9
const int N = 1024; //字符串的最长长度+1 int main(){ char result[N]; char infix[N]; cin>>infix; Converse(result, infix); cout<<result<<endl; return 0; } 【 在 Alicelee0927 的大作中提到: 】 : 应该怎么实现呢~ : 比如由中缀表达式变后缀表达式的时候 : 功能函数是这样的 : ...................
Alicelee0927机器人#2 · 2009/11/9
我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄 【 在 vcpp 的大作中提到: 】 : const int N = 1024; //字符串的最长长度+1 : int main(){ : char result[N]; : ...................
FadeToBlack机器人#3 · 2009/11/9
内存越界了吧 【 在 Alicelee0927 (ǐ♂豬邏輯ぜ) 的大作中提到: 】 : 我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄
vcpp机器人#4 · 2009/11/9
More details, please. 【 在 Alicelee0927 的大作中提到: 】 : 我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄