因此,我試圖在C中使用rand()命令,在這種情況下生成1到6之間的隨機數。該部分完美,但後來我試圖使用開關方法來計數每個數字有多少次出現,結果是......很奇怪。C switch case REALY奇怪的結果
繼承人的代碼:
包括
int main() {
int num;
int number;
int one;
int two;
int three;
int four;
int five;
int six;
printf("enter a number: ");
scanf("%d", &num);
for(int n = 1; n < num + 1; n++){
number = (rand() % 6) +1;
printf("%d", number);
switch(number){
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
}
}
printf("number of ones: %d\n"
"number of twos: %d\n"
"number of threes: %d\n"
"number of fours: %d\n"
"number of fives: %d\n"
"number of sixes: %d\n",
one, two, three, four, five, six);
return 0;
}
,當我跑,並在10中寫道,10個隨機數字真的apeared,但這些都是結果:
個1:1978168284
二元數:-2
三元數: 1307605979
數四肢的:1978192464
數擊掌的:6422480
數亂七八糟的:6422299
我看着代碼幾次,我只是不知道怎麼說happend。 ..如果有人有fixisg的設備,請告訴我(:
初始化您的變量。 –
...意義設置'一=二= = =六= 0;'在循環之前。 C不適合你。 – Gene