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

C#中的栈结构

C#中的栈结构

C#
三色堇忞 2016-04-16 19:34:29
使用Stack结构模拟一个表达式的运算过程,如2+3*4。为什么下面运行会出错,谁可以写一个简短的代码吗?Stack sk = new Stack();            sk.Push(2);            sk.Push(3);            sk.Push(4);            sk.Push('*');            sk.Push('+');            sk.Push('=');            foreach (char c in sk)            {                Console.Write(c);            }
查看完整描述

1 回答

已采纳
?
一毛钱

TA贡献156条经验 获得超57个赞

类型转换问题,你把int转换为char出错,这块可以这样写

foreach(var c in sk){
Console.Write(c);
}

需要注意是var 出现在.net framework 3.5 以后,还有就是栈是后进先出的 所以你的结果是=+*432,想输出你的要的结果应该这样写

Stack sk = new Stack();
            sk.Push('=');
            sk.Push(4);
            sk.Push('*');
            sk.Push(3);
            sk.Push('+');
            sk.Push(2);
            foreach (var c in sk)
            {
                Console.Write(c);
            }
            Console.ReadLine();


查看完整回答
1 反对 回复 2016-04-21
  • 1 回答
  • 1 关注
  • 1075 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信