<i id='zQwjU'><tr id='zQwjU'><dt id='zQwjU'><q id='zQwjU'><span id='zQwjU'><b id='zQwjU'><form id='zQwjU'><ins id='zQwjU'></ins><ul id='zQwjU'></ul><sub id='zQwjU'></sub></form><legend id='zQwjU'></legend><bdo id='zQwjU'><pre id='zQwjU'><center id='zQwjU'></center></pre></bdo></b><th id='zQwjU'></th></span></q></dt></tr></i><div id='zQwjU'><tfoot id='zQwjU'></tfoot><dl id='zQwjU'><fieldset id='zQwjU'></fieldset></dl></div>

    • <bdo id='zQwjU'></bdo><ul id='zQwjU'></ul>
  1. <tfoot id='zQwjU'></tfoot>

  2. <small id='zQwjU'></small><noframes id='zQwjU'>

    <legend id='zQwjU'><style id='zQwjU'><dir id='zQwjU'><q id='zQwjU'></q></dir></style></legend>

      Rand() % 14 只生成值 6 或 13

      时间:2023-10-07

      <i id='4cgq1'><tr id='4cgq1'><dt id='4cgq1'><q id='4cgq1'><span id='4cgq1'><b id='4cgq1'><form id='4cgq1'><ins id='4cgq1'></ins><ul id='4cgq1'></ul><sub id='4cgq1'></sub></form><legend id='4cgq1'></legend><bdo id='4cgq1'><pre id='4cgq1'><center id='4cgq1'></center></pre></bdo></b><th id='4cgq1'></th></span></q></dt></tr></i><div id='4cgq1'><tfoot id='4cgq1'></tfoot><dl id='4cgq1'><fieldset id='4cgq1'></fieldset></dl></div>
      <tfoot id='4cgq1'></tfoot>

      • <small id='4cgq1'></small><noframes id='4cgq1'>

            <tbody id='4cgq1'></tbody>
          <legend id='4cgq1'><style id='4cgq1'><dir id='4cgq1'><q id='4cgq1'></q></dir></style></legend>

            <bdo id='4cgq1'></bdo><ul id='4cgq1'></ul>

                本文介绍了Rand() % 14 只生成值 6 或 13的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                每当我运行以下程序时,返回的值总是 6 或 13.

                Whenever I run the following program the returned values are always 6 or 13.

                #include <iostream>
                #include <fstream>
                #include <ctime>
                #include <cstdlib>
                using namespace std;
                
                //void randomLegs();
                //void randomPush();
                //void randomPull();
                //void randomMisc();
                
                
                int main(int argc, const char * argv[])
                {
                    srand(time(NULL));
                    //randomLegs();
                    cout << rand() % 14;
                    return 0;
                }
                

                今天和昨天我已经运行了将近一百次这个程序.

                I have run the program close to a hundred times during today and yesterday.

                谁能告诉我我做错了什么?

                Can anyone tell me what I'm doing wrong?

                谢谢.

                顺便说一下,如果我将 rand() 的范围更改为 13 或 15,它就可以正常工作.

                By the way, if I change the range of rand() to say 13 or 15 it works just fine.

                推荐答案

                我可以使用 Xcode 5 在 Mac OS X 10.9 上重现该问题 - 看起来它实际上可能是一个错误,或者至少是 的限制rand()/srand() 在 OS X 10.9 上.

                I can reproduce the problem on Mac OS X 10.9 with Xcode 5 - it looks like it might actually be a bug, or at least a limitation with rand()/srand() on OS X 10.9.

                我建议您使用 arc4random()相反,它比 rand() 效果更好,并且不需要随机化种子:

                I recommend you use arc4random() instead, which works a lot better than rand(), and which doesn't require that you randomize the seed:

                #include <iostream>
                #include <cstdlib>
                
                using namespace std;
                
                int main(int argc, const char * argv[])
                {
                    cout << (arc4random() % 14) << endl;
                    return 0;
                }
                

                测试:

                $ g++ -Wall -O3 srand.cpp && ./a.out
                5
                $ ./a.out
                8
                $ ./a.out
                0
                $ ./a.out
                8
                $ ./a.out
                11
                $ ./a.out
                8
                $ ./a.out
                3
                $ ./a.out
                13
                $ ./a.out
                9
                $
                

                这篇关于Rand() % 14 只生成值 6 或 13的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:如何在 C++ 中创建一个随机的字母数字字符串? 下一篇:在 C++ 中生成随机双数

                相关文章

                最新文章

                • <bdo id='QCUZa'></bdo><ul id='QCUZa'></ul>
                <legend id='QCUZa'><style id='QCUZa'><dir id='QCUZa'><q id='QCUZa'></q></dir></style></legend>
              • <i id='QCUZa'><tr id='QCUZa'><dt id='QCUZa'><q id='QCUZa'><span id='QCUZa'><b id='QCUZa'><form id='QCUZa'><ins id='QCUZa'></ins><ul id='QCUZa'></ul><sub id='QCUZa'></sub></form><legend id='QCUZa'></legend><bdo id='QCUZa'><pre id='QCUZa'><center id='QCUZa'></center></pre></bdo></b><th id='QCUZa'></th></span></q></dt></tr></i><div id='QCUZa'><tfoot id='QCUZa'></tfoot><dl id='QCUZa'><fieldset id='QCUZa'></fieldset></dl></div>
              • <tfoot id='QCUZa'></tfoot>

                  1. <small id='QCUZa'></small><noframes id='QCUZa'>