返回信息流应该怎么实现呢~
比如由中缀表达式变后缀表达式的时候
功能函数是这样的
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';
}
主函数怎么实现?
这是一条镜像帖。来源:北邮人论坛 / cpp / #30986同步于 2009/11/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C++数据结构编表达式求值main函数实现问题
Alicelee0927
2009/11/9镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
const int N = 1024; //字符串的最长长度+1
int main(){
char result[N];
char infix[N];
cin>>infix;
Converse(result, infix);
cout<<result<<endl;
return 0;
}
【 在 Alicelee0927 的大作中提到: 】
: 应该怎么实现呢~
: 比如由中缀表达式变后缀表达式的时候
: 功能函数是这样的
: ...................
我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄
【 在 vcpp 的大作中提到: 】
: const int N = 1024; //字符串的最长长度+1
: int main(){
: char result[N];
: ...................
内存越界了吧
【 在 Alicelee0927 (ǐ♂豬邏輯ぜ) 的大作中提到: 】
: 我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄
More details, please.
【 在 Alicelee0927 的大作中提到: 】
: 我就是这样做的 然后输入的时候没有问题 输出的时候程序就自动关闭了 说出现了一个问题。。。厄