小编Jan*_*Doe的帖子

rand()%4000000000UL只给出小值

我对以下代码有疑问:

#include <iostream>
#include <ctime>

int main(){
    unsigned long int blob;   
    srand(time(0)); 

    for(int counter = 0; counter <= 100; counter++) {
        blob = rand() % 4000000000UL ;
        std::cout << blob << std::endl;
    }//for
    system("pause");
    return 0;
} //main
Run Code Online (Sandbox Code Playgroud)

在codepad.org上,它输出大的值,如

378332591
1798482639
294846778
1727237195
62560192
1257661042
Run Code Online (Sandbox Code Playgroud)

但是在Windows 7 64位上,它只输出小值(在VS11和Code :: Blocks上进行了测试编译)

10989
13493
13169
18581
17972
29
Run Code Online (Sandbox Code Playgroud)

在此先感谢帮助c ++学习者;)

c++ random srand

6
推荐指数
2
解决办法
750
查看次数

标签 统计

c++ ×1

random ×1

srand ×1