| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2298 人关注过本帖
标题:求助一个C语言的while(true)小白问题
只看楼主 加入收藏
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:11 
求助一个C语言的while(true)小白问题
想写一段代码,每输入一个数字就输出一行:你输入的是:XX。输入999后显示:“输入结束”并跳出。

程序代码:
# include <stdio.h>
# include <stdbool.h>
int main (void)
{
   int i;
   printf ("Entre:\n");
   while (true)
   {
      scanf ("%i", &i);
    
      printf ("你输入的是:%i\n", i);
      if ( i == 999 )
         break;
   }
   printf ("输入结束。");
   return 0;
}

但是每次输入999以后显示的是“您输入的999”才会跳出。如何才能避免显示这一行直接跳出?
还有,如果我把printf ("输入结束。");放到 if 和 break 中间倒是会显示:“输入结束”,但是不会跳出~求各位帮帮忙
搜索更多相关主题的帖子: C语言 白问题 
2010-05-11 21:28
skyuser213
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:37
专家分:117
注 册:2010-5-9
收藏
得分:5 
# include <stdio.h>
# include <stdbool.h>
int main (void)
{
   int i;
   printf ("Entre:\n");
   while (true)
   {
      scanf ("%i", &i);
      if ( i == 999 )
         break;
      
      printf ("你输入的是:%i\n", i);
      
   }
   printf ("输入结束。");
   return 0;
}

[ 本帖最后由 skyuser213 于 2010-5-11 21:39 编辑 ]
2010-05-11 21:35
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:15 
就是先判断或后判断的问题!对于你   把printf ("输入结束。");放到 if 和 break 中间倒是会显示:“输入结束”,但是不会跳出!    是少了个大括号
程序代码:
# include <stdio.h>
# include <stdbool.h>
int main (void)
{
   int i;
   printf ("Entre:\n");
   while (true)
   {
     scanf ("%i", &i);
     if ( i == 999 )
       {
         printf ("输入结束。");
         break;
       }
      printf ("你输入的是:%i\n", i);

   }

   return 0;
}

www.
2010-05-11 21:38
skyuser213
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:37
专家分:117
注 册:2010-5-9
收藏
得分:0 
程序代码:
# include <stdio.h>
# include <stdbool.h>
int main (void)
{
   int i;
   printf ("Entre:\n");
   while (true)
   {
      scanf ("%i", &i);
      if ( i == 999 )
         break;     
      printf ("你输入的是:%i\n", i);
     
   }
   printf ("输入结束。");
   return 0;
} 


[ 本帖最后由 skyuser213 于 2010-5-11 22:57 编辑 ]
2010-05-11 21:39
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
3楼的方法可以。2楼的方法不行,还是避免不了出现“你输入的是999”这种情况。
谢谢两位了~
2010-05-11 21:49
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
不过还有一个疑问,如果这些输入的数字都被输入一个数组,那么999会不会也被输入?
2010-05-11 21:51
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:0 
回复 6楼 ilsoviet1917
我那个会被输入!当然都是人为控制的,你也可以不让它输入!

www.
2010-05-11 22:02
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
以下是引用jcslt在2010-5-11 22:02:59的发言:

我那个会被输入!当然都是人为控制的,你也可以不让它输入!
这个……能否继续求教……
刚才定义了一个cont求输入的总数,发现是会多一个……
输出一个数组[下标-1]就可以了吧?


[ 本帖最后由 ilsoviet1917 于 2010-5-11 22:15 编辑 ]
2010-05-11 22:06
tdyso
Rank: 2
等 级:论坛游民
帖 子:30
专家分:22
注 册:2010-3-23
收藏
得分:0 
回复 5楼 ilsoviet1917
二楼的也可以的,难道咱们编译器不一样吗...
2010-05-11 22:30
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
MS我这里不行,我的是gcc~有差别么?
2010-05-11 22:33
快速回复:求助一个C语言的while(true)小白问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024123 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved