我知道这个问题可能与其他一些问题重复,但我想在进行此更改之前确保我是正确的,所以无论如何我都会在这里问。在我维护的一个旧项目中,有这行代码:
TCHAR m_sLogPath[MAX_LOGPATH_LEN];
有一行代码在其中初始化和使用了数组,但过了一会儿,就会进行以下检查:
if(NULL== m_sLogPath || _tcsicmp(m_sLogPath, trace_path)!=0){//code here}
我猜这个 if 语句正在检查 m_sLogPath 是否为空,但是 NULL== m_sLogPath 是一个毫无意义的检查,因为将数组与 NULL 进行比较是没有意义的。我将不得不删除 NULL== m_sLogPath peice,我的问题是应该去那里检查数组是否为空?感谢所有的回答和帮助,