对不起,如果这太简单了。我想知道哪个条件正在发生。有没有办法更能捕捉到这一点,而无需在带有 if 结构的块内重复它们?我正在使用 C 语言。
while ( l < 0 || l > 2 || c < 0 || c > 2 )
最佳答案
您可以使用逗号表达式,即像 (expr1,expr2)
之类的东西,它们总是从左到右计算,每个 ,
处都有一个序列点;因此,您可以依赖 expr1
在 expr2
之前进行评估,而后者则用作逗号表达式的结果。
有了这个,以下应该可以工作,并且 x
将在 0..3
的范围内,具体取决于哪个条件成立:
int x;
while ( (x=0,l < 0) || (++x,l > 2) || (++x,c < 0) || (++x,c > 2) )
关于c - While 中哪个条件为真?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53254211/