这个基本脚本应该比较两个输入值,并输出更大的值 - 如果两个值相同则输出0。但我似乎犯了一个错误,因为输出总是0.如果你能发现错误,我将非常感激。另外,我知道有很多方法可以做到这一点,但我正在练习我的逻辑;所以我想坚持这个结构。 感谢。
#include<iostream>
#include<cstdlib>
using namespace std;
int bigger(int, int);
int main()
{
int num1, num2, answer;
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;
answer == bigger(num1, num2);
cout << "The bigger number is " << answer << endl;
system("pause");
return 0;
}
int bigger(int a, int b)
{
int max;
if(a > b)
{
max = a;
}
else if(a = b)
{
max = 0;
}
else {
max = b;
}
return max;
}
答案 0 :(得分:4)
else if(a = b)
应该是
else if(a == b)
和
answer == bigger(num1, num2)
应该是
answer = bigger(num1, num2)
答案 1 :(得分:1)
在此语句
中用赋值运算符(=)替换比较运算符(==)else if(a = b)
答案 2 :(得分:0)
我认为
answer == bigger(num1, num2)
应该是
answer = bigger(num1, num2)
答案 3 :(得分:0)
您正在混合平等(==
)和作业(=
)。
答案 4 :(得分:0)
if(a = b) 必须 if(a == b)
答案 5 :(得分:0)
除了已经指出的"=="
vs "="
混淆之外,我还建议您在三元运算符可能的情况下使用。在你的功能中你可以有这样的东西:
if(a == b)
return 0;
else
return (a > b ? a : b);