正しい方向に少し押すだけです。まず、ポインタを理解するのに問題があります。これは、参照している別の変数を指す変数のようなものです。私には正しくないようですが:S
次に、void関数に問題があり、void関数は何も返すことができません。宿題では、後でprintステートメントで使用されるプロセスを実行するためにvoid関数を使用する必要があります。ここでの問題は、void関数では何も印刷できないため、main関数で印刷する必要があるということです。void関数は何も返さないため、メインの印刷で使用するためにデータをどのように戻すのかわかりません。これが私が使っている関数の例です。
void fx1(int d[][5], int rows, int* colIndex, int* maxSum);
どこ:
- dはデータの配列です
- rowsはdの行数です
- colIndexは、合計が最大の列の列インデックスを格納するためのアドレスです。
- maxSumは、最大列合計を格納するためのアドレスです。
この関数の目的は、配列内の数値のセットを取得することです。
55、8、12、6、-1
-10、4、7、5、-6
-20、0、15、4、-2
合計が最大の列を計算して見つけます。
これで、その背後にあるロジックがわかりました。最終結果を返す方法がわからないため、メインで使用または印刷できます。また、この場合はポインターを使用する必要があります(もちろん、ポインターを使用する必要があります。この割り当ては明らかにポインタを学習するためのものです)。