| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
这是我上个帖子某个大佬教我的模拟电梯的,可以正常输出当前电梯所在楼层 
#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)来写和上面的代码是一样的效果
你scanf返回值是一个状态值,成功执行就返回1,所以一直在一楼 
 
 
 
 
 |   
 
 
 
 |