質問: 以下のようなラックナンバーサーチのプログラムを作ったのですが、最後の使用時間の表示が なぜか毎回「0.0秒かかりました」になってしまいます 時間自体の分岐はできているようなのでjikan変数には正しく値は代入されているようなのですが... 皆さんの意見をお聞かせ願えれば幸いです ``` #include #include #include #define MAX_STAGE 10 int main(void){ int i,j,stage; int dgt[9]={1,2,3,4,5,6,7,8,9}; int a[8]; double jikan; clock_t start,end; srand(time(NULL)); printf("欠けている数字を入力してください。\n"); start=clock(); for(stage=0;stage25.0) printf("鈍すぎます。\n"); else if(jikan>20.0) printf("少し鈍いですね。\n"); else if(jikan>17.0) printf("まあまあですね。\n"); else printf("素早いですね。\n"); return 0; } ```
回答: `(double)((end - start)/CLOCKS_PER_SEC)` を `(double)(end - start)/CLOCKS_PER_SEC` にしてみてください。 UNIX系だと IO処理はclock()の経過時間に含まれないようです。