c ++确保程序不除以0

时间:2016-11-05 23:27:15

标签: c++

我正在编写一个程序来检查用户是否输入0.0或任何0的变化。但是,如果我要将用户输入为0.0的下面的代码编写,我不会得到正确或错误的输出程序刚刚结束。

int main(){
    double num;
    cin >> num;
    if (num==0){
        cout << "wrong";
    }
    else {
        cout <<"right";
    }
}

有人可以解释我没有得到任何东西的原因,可能还有如何进行我需要的比较吗?

更新:我运行的代码是正确的,它没有输出,因为我没有在main中调用该函数。我的帖子主要代码的唯一原因是为了简化我的问题。

3 个答案:

答案 0 :(得分:3)

您所提供的程序无法输出任何内容。您必须运行不同的代码。您可能需要重新编译它。或者,您可能由于某种原因没有看到输出。尝试在您打印的字符串末尾添加\n,以防下一个提示以某种方式覆盖它。

答案 1 :(得分:1)

您可能需要&lt;&lt; std :: endl或&lt;&lt;在你的cout语句结束时std :: flush。

答案 2 :(得分:0)

这个程序是保证打印出对错,你必须运行不同的代码或者你的ide /设置以某种方式禁止输出到控制台,如gui应用程序

作为旁注,请对三元运算符进行一些研究,您的代码可以缩短为:

double num;
cin >> num;
std::cout << (num == 0) ? "wrong":"right" << std::endl;