我需要你的帮助 . 我不是C,我必须找出给定代码中是否存在错误 . 一个是关于空指针,另一个关于数组的边界 . 它不应该太复杂 .
在这个给定的代码中,可能存在错误 . 他们问我这个错误的严重性以及如何避免它 .
我非常感谢你的帮助 . 谢谢!
void Set_Load (PSettings car) {...}
void Set_Save (PSettings car) {
if (!car->dirty) return;
if (car && car->vtable->Save) {...}
}
因此第一个if的行用红色着色,第二个if行用浅红色着色 . 有错吗?如果是,该怎么办?
让我们移动第二个短代码:
GapPadHeader(&mGapBuffer[0], mList);
/*copy data to response buffer */
for(i = 0; (i < mList->dataLength) && (i < (vuint16)(sizeof(mGapBuffer))); i++)
{
mGapBuffer[i + index_V] = mList->restData[i];
}
在第二个代码中,for循环的行标记为浅红色,for循环内的语句标记为强烈的红色 . 关于超出现有阵列界限可能会出现错误吗?
不幸的是,我没有关于属性和方法的更多信息,我只有这个代码来做出假设 . 它是评估中心的一部分,只是为了确保我具备编程技能的基本知识 . 但是对于这两个练习,我不确定 .
谢谢!