此循环将崩溃,并在XCode 4.6.2中给出EXC_BAD_ACCESS错误。
这是循环代码
for (beforeToDel = studentToChange->pFirstClass;
(int)strcmp(beforeToDel->pNext->classId, className) == 0;
beforeToDel = beforeToDel->pNext)
{}
并且不同的变量具有以下值:
非常感谢您提供的任何帮助!
最佳答案
beforeToDel->pNext->pNext
是NULL
。您的循环将在第二次迭代中崩溃,尝试通过该指针进行间接比较以与className
进行比较。您需要在调用strcmp
之前检查它。
旁白:为什么将类型转换为int
?