else if和if语句的用法,C语言单片机

   更新日期:2024.04.27
基本上情况一样,假设在if中不修改i的值的话。但如果在if中修改i的值就不一样了。
第一种情况是
三个if都可能执行,但第二种情况只会执行其中的一个if。
例如:
i=11时,下面程序虽然看起来很无聊,但是确实可能存在的:
if(i>10)
{
i
=9;
}
if(i<10)
{
i=8;
}
则这两个if都会执行,最后i=8了。
但是
if(i>10)
{
i=9;
}
else
if(i<10)
{
i=8;
}
则只会执行if,不会执行else
if,两个是互斥的。最后i=9.

不一样,例子中如果i大于10成立,前者会进行三次条件判断运算i>10,i<10和i==0(应是双等号)
后例只判断i>10,后面的两个判断因为是else
if而不进行判断了,属于i>10的另外一个分支
从效果上来看,这两个例子的作用相同,但是因为这三个条件是互斥的才会这样(最后的i==10判断可省略),如果条件不是互斥的就会导致运行效果的很大不同

else
if相当于
if()
{
}
else
{
if()
{
}
}
你要判断i的数值区间时,如果只使用if
那么无论i的数值如何都要判断三次。
如果使用if...else...那么如果i大于10,只用判断1次。
i小于10只用判断2次。
i等于10判断3次。
不过你的程序如果是
if
(i>
10)
{
}
else
if(i<10)
{
}
else
{
}
i等于10就只需要判断两次

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网