前提・実現したいこと
C言語に関する質問です。
発生している問題・エラーメッセージ
void calc(int n, int d[], ANS *ans)関数の中で、変数ansに対して、
式には構造体または共用体型を使用する必要がありますが、型 "ANS *" が使用されています
というエラーが出ます。
該当のソースコード
C
1#include <stdio.h> 2#include <stdlib.h> 3#include <time.h> 4 5typedef struct { 6 int min, max; 7 double ave; 8} ANS; 9 10/*関数プロトタイプ宣言*/ 11int data[1000]; 12void calc(int n, int d[], ANS *ans); 13 14/*メイン関数*/ 15int main(void) { 16 int n = 999; 17 int num; 18 ANS ans; 19 srand(time(NULL)); 20 num = gene(n, data); 21 calc(n, data, &ans); 22 printf("最小=%5d 最大=%5d 平均=%.2f¥n", ans.min, ans.max, ans.ave); 23 return 0; 24} 25 26/*関数*/ 27void calc(int n, int d[], ANS *ans) { 28 ans.max = 0; 29 ans.min = 10000; 30 int sum = 0; 31 for (int i = 0; i < sizeof(d); i++) { 32 if (ans.max > d[i]) { 33 ans.max = d[i]; 34 } 35 if (ans.min < d[i]) { 36 ans.min = d[i]; 37 } 38 sum += d[i]; 39 } 40 ans.ave = (double)sum / 999; 41}
###試したこと
void calc関数の一行目に
struct ANS *ans;
を追記するなどしました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。