| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1220 人关注过本帖
标题:自学C求助:switch语句选不到正确选项
取消只看楼主 加入收藏
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:4 
自学C求助:switch语句选不到正确选项
char option;
while(option=getchar()&option!='#')//不知道这样写可不可以,想用while实现只有在有输入且输入不为#的时候进行循环。
    {
        switch(option)
        {
            case 'a':printf("Please enter the weight of chaoxianji\n");
                     scanf("%f",&weight_cxj);
                     break;
            case 'b':printf("Please enter the weight of tiancai\n");
                     scanf("%f",&weight_tc);
                     break;   
            case 'c':printf("Please enter the weight of buluobo\n");
                     scanf("%f",&weight_hlb);
                     break;            
            default:printf("Enter error:Please enter again(# to quit).\n");
        }
      }//代码的问题是当我输入一个字符,即使是a、b、c,还是会执行default语句。并且执行结束直接跳出while循环了
搜索更多相关主题的帖子: option 
2015-07-26 10:45
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 4楼 TonyDeng
就程序运行结果来看,没有第二条错误,在改了第一条之后就正常运行了。谢谢大家
2015-07-26 12:46
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 3楼 yx1998
再次验证后发现3楼是对的,在default后加了一个printf("%d",option);发现错误的时候option的值是10也就是换行符,那么请问这种错误是怎么造成的?该怎么避免呢?
2015-07-26 13:06
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 4楼 TonyDeng
事实证明3L说的是对的,我之前以为错误是由scanf()的输入进入switch的选择语句了,后来想想也是错的离谱。
2015-07-26 13:11
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 7楼 w906414
明白了
2015-07-26 13:36
快速回复:自学C求助:switch语句选不到正确选项
数据加载中...
 
   



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

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