0

この基本的なスクリプトは、2 つの入力値を比較し、大きい方の値 (両方の値が同じ場合は 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;
}
4

6 に答える 6

4
else if(a = b)

する必要があります

else if(a == b)

answer == bigger(num1, num2) 

する必要があります

answer = bigger(num1, num2) 
于 2013-11-12T20:23:12.447 に答える
1

このステートメントの比較演算子 (==) を代入演算子 (=) に置き換えます。

else if(a = b)
于 2013-11-12T20:24:44.333 に答える
0

おもう

answer == bigger(num1, num2) 

する必要があります

answer = bigger(num1, num2)
于 2013-11-12T20:23:33.323 に答える
0

等式 ( ==) と代入 ( ) を混在させています=

于 2013-11-12T20:23:41.503 に答える
0

if(a = b) は if(a == b) でなければなりません

于 2013-11-12T20:23:46.487 に答える
0

すでに指摘されている"=="vsの混乱を除いて、可能な場合は三項演算子を使用することもお勧めします。"="関数では、次のようなものを使用できます。 if(a == b) return 0; else return (a > b ? a : b);

于 2013-11-12T20:31:00.017 に答える