取り出す乱数がすべて -1 になってしまう


乱数で取り出した数字がいくつ以上ならば、変数valにインクリメントするといったプログラムを作成しているのですが、取り出す乱数がすべて `-1`
になってしまうという現象が発生してしまいました。

乱数の取り出す式はあってると思うのですが、どの箇所に問題点があるのか教えて下さい。

実行環境はこちらです。  
<https://play.google.com/store/apps/details?id=app.compiler>

"scanfが使えない"とありますが、やり方がややこしいだけでちゃんと使えます。

以下コード

[code]

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
        
    int GETRANDOM(int,int);
    
    int main(void){
        int i,val,p;
        srand((unsigned int)time(NULL));
        
        for(i=0;i<=100;i++){
            val=GETRANDOM(0,100);
            if(val>5)
                p++;
        }
        printf("%d\n",p);
        return 0;
    }
    int GETRANDOM(int min,int max){
        return min+(int)(rand()*(max-min+1.0))/(RAND_MAX+1.0);
    }
    
[/code]



[code]

        return min+(int)(rand()*(max-min+1.0))/(RAND_MAX+1.0);
    
[/code]

`(int)(rand()*(max-min+1.0))` の掛け算で`int`の範囲を超える可能性があるので、その値を `int`
にキャストするとおかしな値になることがあります。割り算をした結果を `int` にキャストしたほうがよいでしょう。



[code]

        return min+(int)(rand()*(max-min+1.0))/(RAND_MAX+1.0);
    
[/code]

`(int)(rand()*(max-min+1.0))` の掛け算で`int`の範囲を超える可能性があるので、その値を `int`
にキャストするとおかしな値になることがあります。割り算をした結果を `int` にキャストしたほうがよいでしょう。

