nicht initialisierte lokale variable " j " verwendet
Hier ist ein Abschnitt von code, den ich habe. Im erhalte eine Fehlermeldung, die nicht initialisierte lokale variable " j " verwendet, und ich sehe nicht es. so weit wie ich kann sagen, es verwendet wird. Kann mir bitte jemand helfen?
float Calculate(Element ElmAry[30], Formula FormAry[30])
{
int i;
int j;
float MoleWT = 0;
float MoleSum = 0;
char e1;
char e2;
char f1;
char f2;
for(i = 0; i < 30; i++) {
f1 = FormAry[j].Element1;
f2 = FormAry[j].ElementA;
e1 = ElmAry[i].eN1;
e2 = ElmAry[i].eN1;
if(e1 == f1 && e2 == f2) {
MoleWT = ElmAry[i].Weight * FormAry[j].Atom;
MoleSum = MoleSum + MoleWT;
j++;
}
}
return MoleSum;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie noch nicht
j
einen Wert, daher deruninitialized variable
Fehler.int j;
ist nicht das gleiche wie die Zuordnungj
einen Wert von 0.Sollten Sie tun:
int j = 0;
So verwenden Sie die variable
j
erste in der ReiheAber Sie haben nicht mit beliebigen zugewiesenen Wert zu
j
zuvor, also "nicht initialisierte". Die Vorherige Erwähnung vonj
war in Ihrer Erklärung:Müssen Sie einen Wert zuweisen, wie 0:
Der ist, rufen "Initialisierung", weil, wenn Sie nicht einen Wert zuweisen variable welchen Wert sollte man erwarten, dass variable?
Der Fehler ist nicht, dass
j
verwendet wird. Der Fehler ist, dassj
verwendet wird, aber es ist nicht initialisiert.Schlage ich vor, ändern Sie Ihre
for
Schleife:Als ich denke, das ist wahrscheinlich das, was Sie tatsächlich versuchen zu tun...