当我尝试编译下面的代码时,我收到此警告:
warning: suggest parentheses around assignment used as truth value
为什么会出现这种情况?我相信这是一个相当常见的习语。我什至之前在我的代码中使用过类似的东西。
struct PIDList*
getRecordForPID(struct PIDList* list, pid_t pid) {
while(list = list->next)
if (list->pid == pid)
return list;
return NULL;
}
明确 - 那么编译器不会警告您可能犯了错误。
while ( (list = list->next) != NULL )
or
while ( (list = list->next) )
有一天你会很高兴编译器告诉你,人们do犯这个错误;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)