前提
ここに質問の内容を詳しく書いてください。
kyuという関数で、型に問題があるような?エラーが出ていますがどこが間違っているのかわからないから知りたいです。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
kyuという関数が動くようにしたい。
発生している問題・エラーメッセージ
test.c: In function ‘main’: test.c:7:3: warning: implicit declaration of function ‘kyu’ [-Wimplicit-function-declaration] 7 | kyu((int)3,(int)1000000); | ^~~ test.c: At top level: test.c:10:8: error: conflicting types for ‘kyu’ 10 | double kyu(int D,int N){ | ^~~ test.c:7:3: note: previous implicit declaration of ‘kyu’ was here 7 | kyu((int)3,(int)1000000); | ^~~
該当のソースコード
C
1#include<stdio.h> 2#include<stdlib.h> 3#include<time.h> 4#include<math.h> 5 6double main(void){ 7 kyu((int)3,(int)100); 8} 9 10double kyu(int D,int N){ 11 int i,j,l,seed,m; 12 double k,g,size; 13 14 seed=time(NULL); 15 srand(seed); 16 17 m=0; 18 19 for(i=0;i<N;i++){ 20 l=0; 21 for(j=0;j<D;j++){ 22 g=drand48(); 23 l=l+g*g; 24 } 25 if(l<1){ 26 m++; 27 } 28 } 29 k=pow(2.0,(double)D); 30 size=(double)k*(double)m/(double)N; 31 printf("%e",size); 32} 33
補足情報(FW/ツールのバージョンなど)
UbuntuとemacsでC言語を動かしてます。
関数 kyu が double 値をreturn していません。void kyu(...) の誤りでは?

回答3件
あなたの回答
tips
プレビュー