注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

融智技术学院

融智技术学院163分站,为广大好友提供更多的帮助

 
 
 

日志

 
 

【C语言每日一问】:我的代码重复次数多于while循环要求的  

2014-04-09 13:25:06|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
问题:问题是当我输入任何字符,除了yn,它显示信息2次而不是1
  • This program is 'Calculator'
  • Do you want to continue?
  • Type 'y' for yes or 'n' for no 
  • invalid input
  • #include<stdio.h>
  • #include<conio.h>
  • #include<stdlib.h>
  •  
  • void main ()
  • {
  • //program
  • //first to get two numbers 
  • //second to get choice
  •  
  • int x=0,y=0,n=0;
  • char choice;
  •  
  • //clrscr(); does no work in devc++
  • system("cls"); //you may also use system("clear");
  •  
  • while(x==0)
  • {
  •  
  •     puts("\t\tThis program is 'Calculator'\n\n");
  •     puts("Do you want to continue?");
  •     puts("Type 'y' for yes or 'n' for no ");
  •     scanf("%c",&choice);
  •     x++;
  •  
  •  
  •  
  •     if(choice=='y')
  •     {
  •         y++;
  •         puts("if this worked then we would continue to calculate the 2 no");
  •     }
  •     else if(choice=='n')
  •         exit(0);
  •     else
  •     {
  •         puts("invalid input");
  •         x=0;
  •     }
  •  
  •  
  •     }
  • getch();
  •  
  •     }

 

回答:如果你输入yn以外的字符,

  • else
  • {
  •     puts("invalid input");
  •     x=0;
  • }

重置x0,现在循环条件:

  • while(x == 0)

如果为真,因此再次进入循环

也许你想要跳过结尾回车字符当这样读取时:

  • scanf(" %c", &choice );

温馨提示:您的支持与理解,是我们工作最大的动力。如果您是从网上购买的图书,请在对应的网店,给予本书一个好评,我们将衷心感谢!!!
以下是《轻松学C语言》对应的购书评论地址:
当当网http://product.dangdang.com/23246575.html
亚马逊http://www.amazon.cn/dp/B00CIXGTOS
京东网http://item.jd.com/11235318.html

 

  评论这张
 
阅读(7)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017