c
1#include <stdio.h> 2 3double avg(int *p); 4 5int main(void){ 6 int test[5]; 7 int i; 8 double ans; 9 10 printf("5人のテストの点数を入力してください\n"); 11 for (i=0; i<5; i++) { 12 scanf("%d", &test[i]); 13 } 14 15 ans = avg(test); 16 17 printf("5人の平均点は%lf点です\n", ans); 18 19 return 0; 20} 21 22double avg(int *p) { 23 int i; 24 double sum; 25 26 sum = 0.0; 27 28 for (i=0; i<5; i++) { 29 sum += *(p + i); 30 } 31 32 return sum/5;
上のコードはわかるのですが、以下のコードのavgの仮引数のt[]は上の仮引数の*pと同義なんでしょうか?なまじスクリプトばかり触っていて特に気にせず使っていたので混乱しています
また勉強していて思うのですが個人的にCのポインタは書き方がややこしいと感じます。
なぜこんな面倒くさいことになったんでしょうか?
c
1#include <stdio.h> 2 3double avg(int t[]); 4 5int main(void){ 6 int test[5]; 7 int i; 8 double ans; 9 10 printf("5人のテストの点数を入力してください\n"); 11 for (i=0; i<5; i++) { 12 scanf("%d", &test[i]); 13 } 14 15 ans = avg(test); 16 17 printf("5人の平均点は%lf点です\n", ans); 18 19 return 0; 20} 21 22double avg(int t[]) { 23 int i; 24 double sum; 25 26 sum = 0.0; 27 28 for (i=0; i<5; i++) { 29 sum += t[i]; 30 } 31 32 return sum/5; 33}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。