注册 登录
编程论坛 C++教室

不明白为什么会这样?

九天冥盟 发布于 2017-12-27 22:44, 1063 次点击
class A
{
    public:
      int a;
      input_number()
      {
          srand(time(NULL));
          a=rand()%100;
      }
};
int main()
{
  A b[4][4];
  for(int i=0; i<10; i++)
  {
     for(int j=0; j<5; j++)
     {
       d[i][j].input_number();
       printf("%d\t",d[i][j].a);
     }
     cout<<"\n";
   }
   return 0;
}

为什么输出的16个数都是一样的?
要其输出的16个数不一,要怎样改?(需用类的格式)
1 回复
#2
rjsp2017-12-27 23:26
首先数组溢出
然后你不知道 srand/rand 的用法

srand设置随机种子,相同的种子产生相同的随机数列
你应该讲srand到main中
1