Ich habe eine Funktion namens SearchArray(), die eine andere Funktion namens SearchRecords (char StudentNo []) aufgerufen, um die Datenbank-Array von gRecs für eine Übereinstimmung in Schülerzahlen zu überprüfen. Wenn ich den Debugger starte, wird der Wert von StudentNo als StudentNo = 0x22fde0 "12345678"
angezeigt, wenn StudentNum = "12345678"
. Was sind diese zusätzlichen Zeichen?Compiler Hinzufügen zufälliger Zeichen zu meinem Char-Array
SearchArray() Funktion
void SearchArray(){
char studentNum[8];
cout << "Enter student number: ";
cin >> studentNum;
char i = SearchRecords(studentNum);
if (gRecs[i].studentNumber != studentNum){
cout << "Record not found" << endl;
}
else {
PrintRecord(i);
}
}
SearchRecords() Funktion
int SearchRecords(char StudentNo[])
{
for (int i = 0; i < gNumRecs; i++){
if(gRecs[i].studentNumber == StudentNo)
{
return i;
}
}
return -1; //not found
}
Wo sehen Sie zusätzliche Zeichen? – Telokis
wenn ich den Debugger verwende, um den Code zu testen .. wie wenn ich es ausführe, auch wenn es eine Übereinstimmung gibt, wird es wegen dieser zusätzlichen Zeichen nicht erkannt ... – Stefan
Diese zusätzlichen Zeichen: 0x22fde0? Das ist die Adresse von 'StudentNo'. – user4581301