为什么单步运行没问题,直接运行结果就是错误的?

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(void)
{
    int i, b;
    int a[7] = {0,0,0,0,0,0,0};
    for(i=1; i <= 600; i++)
    {
        srand(time(NULL));
        b=rand()%6+1;
        switch(b)
        {
        case 1:
            a[1]++;
            break;
        case 2:
            a[2]++;
            break;
        case 3:
            a[3]++;
            break;
        case 4:
            a[4]++;
            break;
        case 5:
            a[5]++;
            break;
        case 6:
            a[6]++;
            break;
        }
    }
    for(b=1; b <=6;b++)
    {
         printf("%4d\n",a[b]);

    }

    return 0;
}
 

你可以试着把“srand(time(NULL));”语句写在for循环外面,然后多调试几次