22

srand関数を使用しようとするたびに、この警告が表示されます

"implicit declaration of function 'time' [-Wimplicit-function-declaration]|" 

コンパイルされたファイルを実行すると、Windows エラー レポートが表示されます。 私は C プログラミングの初心者です。教科書でこれを見つけましたが、うまくいきません。

  srand (time());  
  int x= (rand()%10) +1;  
  int y= (rand()%10) +1;  
  printf("\nx=%d,y=%d", x,y); 

これを修正するには何が必要ですか?

4

2 に答える 2

42

#includeこの場合、正しいヘッダーであることを確認する必要があります。

#include <stdlib.h>  // rand(), srand()
#include <time.h>    // time()

疑問がある場合は、man ページを確認してください。

$マンランド

$人時間

もう1つの問題:time()引数が必要です。これは になる可能性がNULLあるため、への呼び出しは次のようにsrand()なります。

srand(time(NULL));
于 2013-03-17T07:09:19.663 に答える
1

time()関数は、戻り値とアドレス引数の両方で現在の時刻 (1970 年からの秒数で表される) を使用することに注意してください。

于 2013-03-17T08:51:06.550 に答える