エラトステネスの篩をC言語で記述しています。
素数判定する関数とその判定された素数を表示する関数を用いて作成しているのですが以下のようなエラーが発生しています。
間違っている点のご指摘お願いします。
発生している問題・エラーメッセージ
a.c: In function 'main': a.c:11:11: warning: passing argument 1 of 'printpm' from incompatible pointer type [-Wincompatible-pointer-types] printpm(findpm); ^~~~~~ a.c:5:18: note: expected 'int *' but argument is of type 'int (*)(int)' void printpm(int st[N+1]); ~~~~^~~~~~~ 69 97
該当のソースコード
#include<stdio.h> #define N 100 int findpm(int num); void printpm(int st[N+1]); int main(void) { int n,i,a[N+1]={0}; findpm(N); printpm(findpm); return 0; } int findpm(int num) { int n,i,a[N+1]; for(n=2;n<N+1;n++) for(i=2;n*i<N+1;i++) a[n*i]=1; return a[N+1]; } void printpm(int st[]) { int n; for(n=2;n<N+1;n++) if(st[n]==0) printf("%3d",n); }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。