Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输出不确定,可能存在变量溢出? 我对C++很陌生,现在我正在学校里学一门入门课程。本周的作业之一是解一个相当长的方程式。所以我所做的就是把它分解成小块。当我尝试使用sin函数时,我得到了奇怪的输出,所以我开始有点混乱,并将它与此隔离 #include <iostream> #include <cmath> using namespace std; int main() { double input1, input2, a; cout << "Enter first input." << endl; cin >> input1; cout << "Enter second input." <<endl; cin >> input2; a = input2 - input1*2; cout << a << endl; // This doesn't give expected output cout << input2 - 2*input1 <<endl; //This gives the expected result return 0; } #包括 #包括 使用名称空间std; int main() { 双输入1,输入2,a; 不能输入1; cout_C++ - Fatal编程技术网

输出不确定,可能存在变量溢出? 我对C++很陌生,现在我正在学校里学一门入门课程。本周的作业之一是解一个相当长的方程式。所以我所做的就是把它分解成小块。当我尝试使用sin函数时,我得到了奇怪的输出,所以我开始有点混乱,并将它与此隔离 #include <iostream> #include <cmath> using namespace std; int main() { double input1, input2, a; cout << "Enter first input." << endl; cin >> input1; cout << "Enter second input." <<endl; cin >> input2; a = input2 - input1*2; cout << a << endl; // This doesn't give expected output cout << input2 - 2*input1 <<endl; //This gives the expected result return 0; } #包括 #包括 使用名称空间std; int main() { 双输入1,输入2,a; 不能输入1; cout

输出不确定,可能存在变量溢出? 我对C++很陌生,现在我正在学校里学一门入门课程。本周的作业之一是解一个相当长的方程式。所以我所做的就是把它分解成小块。当我尝试使用sin函数时,我得到了奇怪的输出,所以我开始有点混乱,并将它与此隔离 #include <iostream> #include <cmath> using namespace std; int main() { double input1, input2, a; cout << "Enter first input." << endl; cin >> input1; cout << "Enter second input." <<endl; cin >> input2; a = input2 - input1*2; cout << a << endl; // This doesn't give expected output cout << input2 - 2*input1 <<endl; //This gives the expected result return 0; } #包括 #包括 使用名称空间std; int main() { 双输入1,输入2,a; 不能输入1; cout,c++,C++,您发布的代码在各种编译器下都很适合我,但是我建议进行一些改进: 您从input1和input2的哪些值中得到该结果?您确定您没有运行过时的二进制文件或其他东西(意味着您没有实际运行您认为是的代码)?我不认为这是一个编译器问题,因为如果是这样的话,这将是g++中一个非常严重的错误。在Visual Studio'10中工作。即使我将变量初始化为0.Hmmm…。突然它工作了。我发誓在我发布之前的第二秒它会给我奇怪的输出。这并不重要,但出于兴趣好奇的是,有人能想到它为什么会这样做吗?不管怎样,它仍然很奇

您发布的代码在各种编译器下都很适合我,但是我建议进行一些改进:


您从input1和input2的哪些值中得到该结果?您确定您没有运行过时的二进制文件或其他东西(意味着您没有实际运行您认为是的代码)?我不认为这是一个编译器问题,因为如果是这样的话,这将是g++中一个非常严重的错误。在Visual Studio'10中工作。即使我将变量初始化为
0
.Hmmm…。突然它工作了。我发誓在我发布之前的第二秒它会给我奇怪的输出。这并不重要,但出于兴趣好奇的是,有人能想到它为什么会这样做吗?不管怎样,它仍然很奇怪out@Matt试着打印input1和input2的值。我能想象的唯一一件事是你的输入有点奇怪,没有分配任何内容。这很有效。实际上,在发布后几个小时它就停止了。这很好,但也很奇怪,因为这是一台电脑,它不是一个挑剔的青少年。所以我想这是超出我知识/能力范围的东西。但你是对的,它修好了。非常感谢你提供的额外信息。我应该在每次输入后清除
cin
缓冲区吗?我倾向于,如果我只制作一个控制台应用程序,处理的费用(最低)这对我来说是值得的,因为它保证缓冲区只包含用户输入的输入,我这样做主要是因为操作系统之间存在细微差异,清除缓冲区可以确保我在Windows、Ubuntu和MacOS上的行为相同。很抱歉,回复太晚,我的家用计算机正在经历青少年芬尼症:(甚至在几次擦除和安装周期后也拒绝启动。我知道计算机应该能够以一致的输出重复执行相同的操作,但是,在与它们争论了一年之后,对不起,对它们进行编程,结果证明它们和青少年一样糟糕:)
cout << "Enter first input." << endl;
cin.clear();
cin >> input1;
cout << "Enter second input." <<endl;
cin.clear();
cin >> input2;