私の関数を最大限使用しようとすると、間違った値が返され続けます。最大の配列関数を持つプログラム
#include <iostream>
#include <iomanip>
using namespace std;
int largest(int[], int);
main()
{
const int size = 3;
int a[size];
for (int i = 0; i < size; i++)
{ cout << "Enter an array element ";
cin >> a[i];
}
int large = largest(a,size);
cout << "Largest is " << largest;
return 0;
}
int largest (int a[], int size)
{
int largest; largest = a[0];
for (int i = 1; i < size; i++)
{
if(a[i] > largest)
{
largest = a[i];
return largest; }
}
}
関数の最後(ループの後ろ)に '戻り最大; 'を移動します。 –
これは問題ではありませんが、スタイルの問題として、 'int int;最大値= a [0];は 'int最大= a [0];'でなければなりません。初期化されていない値を作成し、即座に値を割り当てるのは愚かです。 –
問題はここにあります: 'cout <<"最大は "<<最大;"です。最大の番号ではなく、関数のアドレスを 'cout <<"で表示します。最大値は "<< large;"です。 – Bort