web-dev-qa-db-ja.com

関数 'time'の暗黙的な宣言[-Wimplicit-function-declaration] |

srand関数を使用しようとするたびに、これを取得します警告

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

windows error reportが表示されるのはコンパイル済みファイルの実行
私はcプログラミングの初心者です。これを教科書で見つけましたが、うまくいきません。

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

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

17

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

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

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

$ manランド

$マンタイム

もう1つの問題:time()にはNULLの引数が必要なので、srand()への呼び出しは次のようになります。

_srand(time(NULL));
_
30
Paul R

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

1
Acsor