int main(void) { int a[51]; int i, max; for (i=1, max=0; i<=50; i++) { printf("%d人目の点数 ", i); scanf("%d", &a); if (!max || a[max] < a) max = i; } printf("MAXはa[%d]=%d点", max, a[max]); }
というプログラムを作っていただいたのですが
#include<stdio.h>
int main(void) { int a[51]; int i, max=0; for (i=1; i<=50; i++) { printf("%d人目の点数 ", i); scanf("%d", &a); if ( a[max] < a) max = i; }
にしてみても動いたのですが。
!max ||やfor (i=1, max=0; i<=50; i++)のはどういった働きなのでしょうか?
なくても問題ないのでしょうか?
printf("MAXはa[%d]=%d点", max, a[max]);
}