请朋友们帮帮忙。if的有关问题

请朋友们帮帮忙。if的问题
if(
(AD0_in>s0 && AD5_in<s1 && AD6_in<s1)
||(AD3_in>s1&&AD6_in>s1)
||(AD1_in>s1&&AD5_in>s1)
||(AD2_in>s1&&AD5_in>s1)
||(AD1_in>s1&&AD4_in>s1)
||(AD1_in>s0&&AD3_in>s1)
||(AD4_in>s1&&AD6_in>s1)
)

C语言里面有方法让 if当中的条件,只判断一次么。

比如
(AD0_in>s0 && AD5_in<s1 && AD6_in<s1) 为真后,

下次循环进入,这个If

不在判断。 判断后面的内容



------解决方案--------------------
应该不可能了,,毕竟条件判断的顺序在编译完成时就已经确定了下来了~~
------解决方案--------------------
探讨
if(
(AD0_in>s0 &amp;&amp; AD5_in<s1 &amp;&amp; AD6_in<s1)
||(AD3_in>s1&amp;&amp;AD6_in>s1)
||(AD1_in>s1&amp;&amp;AD5_in>s1)
||(AD2_in>s1&amp;&amp;AD5_in>s1)
||(AD1_in>s1&amp;&amp;AD4_in>s1)
||(A……

------解决方案--------------------
探讨

应该不可能了,,毕竟条件判断的顺序在编译完成时就已经确定了下来了~~

------解决方案--------------------
设置个变量来判断呀,这就知道第几次进入~~
------解决方案--------------------
我觉得你的想法不太对:
1.作为参与判断的变量,ad0_in,ad5_in,ad6_in应该是不变的是把,而s0与s1如果在后面语句体中会被改变的话,你让他只判断一次就会有风险。

2.如果说s0与s1都不会被改变,那么你完全可以把第一个条件拆开放在最外面,所有循环和剩余判断在这个if语句体内执行。
------解决方案--------------------
楼主的需求不明确啊
------解决方案--------------------
{
static bool bFirst = true;
if(bFrist)
{
if(AD0_in>s0 &amp;&amp; AD5_in<s1 &amp;&amp; AD6_in<s1)
{
bFirst = false;
}
}
}