我在 while 循环中增加一个指针并减少一个计数器。当计数器达到零或指针等于最大点(如果存在)时,我想退出循环。如果部分给了我问题。
考虑以下:
char * pIt = utf8str;
char ** pEnd = 0;
size_t nVal = 10;
while ( 0 < nVal && (pEnd && pIt < *pEnd || true) )
{
--nVal;
++pIt;
}
如果pEnd
为空,我希望将其排除在比较之外,因此pIt
没有上限。显然,上面的代码不起作用,因为当pIt >= pEnd
“或”开始发挥作用时,它将永远为真。
如何做到这一点?