对不起,如果这太简单了.我想知道哪些条件正好发生了.有没有一种方法能够捕获这个而不用在if块内部重复它们?我正在使用C语言.
while ( l < 0 || l > 2 || c < 0 || c > 2 )
Run Code Online (Sandbox Code Playgroud)
你可以使用逗号表达式,即类似的东西(expr1,expr2),它们总是从左到右进行评估,每个都有一个序列点,; 所以你可能依赖于expr1之前评估过expr2,而后者则作为逗号表达式的结果.
有了这个,以下应该可以工作,并且x将0..3取决于哪个条件成立:
int x;
while ( (x=0,l < 0) || (++x,l > 2) || (++x,c < 0) || (++x,c > 2) )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |