标题:
C语言程序的一个小问题
[打印本页]
作者:
PDDDF
时间:
2019-12-17 10:00
标题:
C语言程序的一个小问题
if(t_1<=1 || t_2<=1)
{
while(t_1<=1 && t_2<=1)
{
dis_E(3);
return;
}
if(t_2<=1) dis_E(2); return;
if(t_1<=1) dis_E(1); return; //没有执行
}
这个函数用作判断两个脚的输入电平,A1脚输入低电平显示E1,A2脚输入低电平显示A2,同时为低电平显示A3;
问题:
最后的那句语句没有执行,被忽略了,大家看看是什么原因
作者:
风清
时间:
2019-12-17 10:32
满足 t_2<=1 if(t_2<=1) dis_E(2); return; 直接return退出了 两个if只会执行一个
作者:
moluxiyan
时间:
2019-12-17 10:39
看看是不是在这 if(t_2<=1) dis_E(2); return;返回了
作者:
yefans
时间:
2019-12-17 10:43
倒数第二句if(t_2<=1) dis_E(2); 缺少一个else,此if语句执行后。到第一个分号 “dis_E(2);” ,则此if语句跳出,后接return。就直接跳出了最大的if语句。
作者:
yefans
时间:
2019-12-17 10:47
倒数第二行if语句不完整,少一个else。
if(t_2<=1) dis_E(2); return;
上述if语句,第一个分号时就结束了if判断,后接return就直接跳出最大if语句了
应改正为:if(t_2<=1) dis_E(2); else return;
建议仔细看一下if语句的用法。
作者:
angmall
时间:
2019-12-17 12:01
给你改了
if(t_1<=1 || t_2<=1)
{
while(t_1<=1 && t_2<=1)
{
dis_E(3);
return;
}
if(t_2<=1) {dis_E(2); return; } // <<----- 改成这样
if(t_1<=1) {dis_E(1); return; } //没有执行
}
作者:
PDDDF
时间:
2019-12-17 14:57
问题已解决,谢谢大家
作者:
3FIRE
时间:
2019-12-18 01:22
angmall 发表于 2019-12-17 12:01
给你改了
if(t_1
如有空,想问问这种和else if 在机器里执行的区别
作者:
ar_fa
时间:
2019-12-18 08:39
你的写法很,为什么用if(t_1<=1 || t_2<=1),而不用if(t_1 || t_2)?很少像你那么用
作者:
今夜的雨
时间:
2019-12-18 09:48
if中直接t_1和t_2就行,高电平和低电平就是0和1
作者:
YZH9527
时间:
2019-12-18 17:59
这个函数倒数第二行if语句少一个else。
就是改正为:if(t_2<=1) dis_E(2); else return;
建议你看一下if语句的用法。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1