我有一個名爲SearchArray()的函數,它調用名爲SearchRecords(char StudentNo [])的另一個函數來檢查gRecs的數據庫數組以查找學生數字中的匹配項。編譯器向我的字符數組添加隨機字符
當我運行調試器時,如果StudentNum = "12345678"
的StudentNo的值顯示爲StudentNo = 0x22fde0 "12345678"
。 這些附加字符是什麼?
SearchArray()函數
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()函數
int SearchRecords(char StudentNo[])
{
for (int i = 0; i < gNumRecs; i++){
if(gRecs[i].studentNumber == StudentNo)
{
return i;
}
}
return -1; //not found
}
你在哪裏看到其他字符? – Telokis
當我使用調試器來測試代碼..當我運行它時,即使有匹配,由於這些額外的字符,它不能識別... – Stefan
這些額外的字符:0x22fde0?這是'StudentNo'的地址。 – user4581301