我们的代码库包含一些形式的循环while((*assignment*) *condition*)
,例如:
while((c = *s++) != '\0') {...}
while((i = getNext()) != NULL) {...}
不幸的是,这些导致编译器发出“条件赋值”警告,我想摆脱它。我的计划是将while
循环转换for
为 for( assignment ; condition ; assignment ) 形式的循环,例如:
for(c = *s++; c != '\0'; c = *s++) {...}
for(i = getNext(); i != 0; i = getNext()) {...}
这种转变有效吗?有更好的选择吗?