我正在编写一个程序来检查用户是否输入0.0或任何0的变化。但是,如果我要将用户输入为0.0的下面的代码编写,我不会得到正确或错误的输出程序刚刚结束。
int main(){
double num;
cin >> num;
if (num==0){
cout << "wrong";
}
else {
cout <<"right";
}
}
有人可以解释我没有得到任何东西的原因,可能还有如何进行我需要的比较吗?
更新:我运行的代码是正确的,它没有输出,因为我没有在main中调用该函数。我的帖子主要代码的唯一原因是为了简化我的问题。
答案 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;