#include <stdio.h> int getMaxArray(unsigned long* Array, int size, unsigned long* max, unsigned long* min) { // 引数のポインタがNULLの場合はエラーコード-1を返す if (Array == NULL || max == NULL || min == NULL) { return -1; } // 配列の要素が0の場合はエラーコード-1を返す if (size <= 0) { return -1; } // 初期値として最大値・最小値に配列の最初の要素を設定 *max = *min = Array[0]; // 配列を走査して最大値・最小値を更新 for (int i = 1; i < size; ++i) { if (Array[i] > *max) { *max = Array[i]; } else if (Array[i] < *min) { *min = Array[i]; } } // 正常終了を示すコード0を返す return 0; } int main(void) { // 配列numは設定済み unsigned long num[10] = {7439, 84619, 203, 981266, 182, 749201, 2305829, 10528432, 9123, 494}; // 引数を正常に設定してgetMaxArray関数を呼び出す unsigned long max, min; int result = getMaxArray(num, 10, &max, &min); // 結果を出力 if (result == 0) { printf("最大値:%lu 最小値:%lu¥n", max, min); } else { printf("最大・最小値が取得できませんでした¥n"); } // 引数のポインタをNULLにしてgetMaxArray関数を呼び出す result = getMaxArray(NULL, 10, &max, &min); // エラー結果を出力 if (result == -1) { printf("最大・最小値が取得できませんでした¥n"); } return 0; } もう少し短く分かりやすくコードを修正お願いします
C言語関連