2016-11-17 20 views
-6
verwendet

ich habe einen Code aus, der eine zufällige Frucht machen je nach Wahrscheinlichkeit istVariable möglicherweise nicht initialisiert wurden

#include<iostream> 
#include"stdafx.h" 
#include <cstdlib> 
int main() 
{ 
int Blueberries; 
int Grapefruit; 
int Orange; 
int Apple; 
int Pineapple; 

int random = rand() % 100; 

if (random > Orange & random < Apple) 
{ 
random = Pineapple; 
} 
else if (random > Pineapple & random < Grapefruit) 
{ 
random = Apple; 
} 
else if (random > Apple & random < Blueberries) 
{ 
random = Grapefruit; 
} 
else if (random > 46) 
{ 
random = Blueberries; 
} 
else if (random < 10) 
{ 
random = Orange; 
} 
std::cout << random << ".\n"; 
system("pause"); 
return(0); 
} 

, aber wenn ich es verwenden wollen, diese Pop-up „Variable nicht initialisiert“ kann jemand erkläre mir, was das bedeutet?

+5

genau was es bedeutet, haben Sie Variable mit keinem Wert damit verbunden. Sie möchten wahrscheinlich enums verwenden. –

+2

Sie initialisieren Ihre Variablen nicht, so dass sie mit Junk gefüllt sind und wenn Sie sie vergleichen, werden Sie nicht die erwarteten Ergebnisse erhalten. – theVoid

+0

Mögliches Duplikat von [Variable nicht in C++ - Code initialisiert?] (Http://stackoverflow.com/questions/28572773/variable-not-initialized-in-c-code) –

Antwort

1

Sie initialisieren Ihre Variablen nicht, dh ihr Inhalt ist nicht definiert. Sie sollten sie auf einen Anfangswert setzen, bevor Sie sie tatsächlich verwenden, z. B. int Apple = 0;. Wenn Sie auch logisch und verwenden möchten, sollten Sie den Operator & & verwenden, der Operator & ist bitweise und.

+0

danke! also der code wurde falsch geschrieben, ich werde diesen fehler nicht nochmal machen – Ultrasouew

+0

Kein Problem. Sie sollten jetzt diese Antwort akzeptieren (klicken Sie auf das Häkchen), wenn es Ihr Problem vollständig gelöst hat. –

Verwandte Themen