getMax.c
/* ポインタで渡した配列の最大値を得る */ #include <stdio.h> void sub(int *p) { int i, max; max = *p; /* 先頭の数をとりあえず最大値として代入 */ for(i=1; i<5; i++){ /* 2番目のデータからチェック */ /* 最大値を検索 */ if(max < *(p+i)){ max = *(p+i); } } printf("最大値 = %d\n", max); } int main(void) { int a[] = {100, 25, -100, 777, 8}; sub(a); return 0; }
実行結果
最大値 = 777
こう記述しても同じ
#include <stdio.h> void sub(int *p) { int i, max; max = p[0]; /* 先頭の数をとりあえず最大値として代入 */ for(i=1; i<5; i++){ /* 2番目のデータからチェック */ /* 最大値を検索 */ if(max < p[i]){ max = p[i]; } } printf("最大値 = %d\n", max); } int main(void) { int a[] = {100, 25, -100, 777, 8}; sub(a); return 0; }
コメント