圣人惠 发表于 2017-9-19 21:50:22

应该是switch问题

#include <stdio.h>
#include<Windows.h>
#include<stdlib.h>
#define SZIE 10
int main(void)
{
        int *now;
        int result;
        for (int i = 0; i < SZIE; i++)
        {
                now = (int*)malloc(sizeof(int)* 1);
                srand(time());
                Sleep(100);
                *now = rand() % 10;
                switch (*now)
                {
                case 1:result++;
                        break;
                case 2:result++;
                        break;
                case 3:result++;
                        break;
                case 4:result++;
                        break;
                case 5:result++;
                        break;
                case 6:result++;
                        break;
                case 7:result++;
                        break;
                case 8:result++;
                        break;
                case 9:result++;
                        break;
                case 10:result++;
                        break;
                        free(now);
                }
        }
        for (int j = 0; j < 10; j++)
        {
                printf("%d\n", result);
        }
        return 0;
}

输出如下:
-858993460
-858993460
-858993454
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
为什么都是垃圾值?请给予修改方法

丶忘却的年少o 发表于 2017-9-19 21:54:05

你的数组没赋值呀,只给了大小。里面的元素都是跑飞的值,什么都有
页: [1]
查看完整版本: 应该是switch问题