此循环将崩溃,并在XCode 4.6.2中给出EXC_BAD_ACCESS错误。

这是循环代码

for (beforeToDel = studentToChange->pFirstClass;
     (int)strcmp(beforeToDel->pNext->classId, className) == 0;
     beforeToDel = beforeToDel->pNext)
     {}


并且不同的变量具有以下值:



非常感谢您提供的任何帮助!

最佳答案

beforeToDel->pNext->pNextNULL。您的循环将在第二次迭代中崩溃,尝试通过该指针进行间接比较以与className进行比较。您需要在调用strcmp之前检查它。

旁白:为什么将类型转换为int

09-13 13:17