A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 肖云   /  2012-6-10 20:13  /  4433 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

case 3:
                    if (i2 == 0)
                    {
                        MessageBox.Show("0不能为除数!");
                        return;  //break;
                    }
当i2=0的时候,break是结束掉While这循环,但是循环后面的 txtResult.Text = Convert.ToString(result);
是要运行的,但由于一开始你没有赋值,导致result为空!就会出现错误,但是有return则整个程序都停止,所以就不会运行 txtResult.Text = Convert.ToString(result);个了!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
在定义 int result;改成result=0;
因为你把return 改成break时,程序还能往下执行。
txtResult.Text = Convert.ToString(result);转换的时候就没有值可以转换的。
所以报错了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
执行到txtResult.Text = Convert.ToString(result)的时候,result未赋值。一般来说定义一个变量时,要先赋一个初值,这样后面即使需要修改也不会出现因未赋值而引发的错误

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马