关于死循环while(1)的问题求助
这是我上个帖子某个大佬教我的模拟电梯的,可以正常输出当前电梯所在楼层#include<stdio.h>
int main(void)
{
int beg = 1,des;
printf("当前楼层:%d ,请输入您想去的楼层:(按q放弃)",beg);
while(scanf("%d",&des))
{
if (des > beg) printf("电梯上行");
else if(des == beg) printf("无需移动");
else printf("电梯下行");
beg = des;
printf("当前楼层:%d ,请输入您想去的楼层:(按q放弃)",beg);
}
printf("Done");
return 0;
}
之后我想用while(1)的方法来改,也可以出现同样的效果,但是一直显示在第一层,请问各位大佬们,怎样做才可以和上面得到一样的效果。下面是我的用while(1)来模拟的程序:
int main(void)
{
int beg = 1;
int des,angle;
printf("当前楼层:%d ,请输入您想去的楼层:(按q放弃)",beg);
while(1)
{
des = scanf("%d",&des);
if (des > beg){
printf("电梯上行");
}
else if
(des == beg) printf("无需移动");
else {
printf("电梯下行");
}
beg = des;
printf("当前楼层:%d ,请输入您想去的楼层:(按q放弃)",beg);
}
printf("Done");
return 0;
}
这里一直显示在第一层,有没有大佬教一下用while(1)来写和上面的代码是一样的效果 用代码格式发代码呗..看的我眼花 qiuyouzhi 发表于 2021-8-9 11:05
用代码格式发代码呗..看的我眼花
咋样算代码格式,老哥{:10_266:} 你不要用des接受呀
int main(void)
{
int beg = 1;
int des,angle;
while(1)
{
printf("当前楼层:%d ,请输入您想去的楼层:(按q放弃)",beg);
scanf("%d",&des);
if (des > beg)
printf("电梯上行");
else if(des == beg)
printf("无需移动");
else
printf("电梯下行");
beg= des;
}
printf("Done");
return 0;
} 你scanf返回值是一个状态值,成功执行就返回1,所以一直在一楼
大马强 发表于 2021-8-9 11:12
你scanf返回值是一个状态值,成功执行就返回1,所以一直在一楼
学废了,哈哈哈哈,谢谢大佬{:10_266:}
页:
[1]