.c中的简单印刷错误

时间:2017-11-18 06:52:50

标签: c debugging divide-by-zero

我只是在编写一个程序来将十进制数改为另一个基数(2 <= radix&lt; = 16)。
 运行程序并打印正确的答案后,我遇到一个错误,上面写着:“程序已停止工作”。你能不能看看我的代码,找到它悬挂的地方??? !!!我真的很困惑。
这是我的代码:

public App()
{
    InitializeComponent();

    MainPage = new CustomNavigationPage(new MainPage());
}
...
// In MainPage
private async void Button_Clicked(object sender, EventArgs e)
{
    await Navigation.PushAsync(new TestPage());
}

我认为这个问题是因为“temp = decimal / pow”,但我该怎么办呢?

1 个答案:

答案 0 :(得分:2)

pow循环结束时计算temp = decimal / pow;时,检查while是否为0

    pow /= radix;
    if (pow > 0)
    {
        temp = decimal / pow;
    }