| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1399 人关注过本帖
标题:为什么我的程序里用if(M==S) 这样的语句程序不能正常的执行?
只看楼主 加入收藏
jk6830020
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
为什么我的程序里用if(M==S) 这样的语句程序不能正常的执行?
/*这个程序的意思是分别用英寸和厘米计算身高,再转换单位输出*/
#include <stdio.h>
main(void)
{
    double inch,mc;            //声明变量英寸和厘米。
    char Y,M,S;            // Y代表选择输入英寸,M代表选择输入厘米,S用来存选择结果   
    printf("Please import the inch or the centimere!(Y/M)?");        //选择输入模式。
   
    scanf("%c",&S);            //接受用户选择。
    if(S==Y)                //这里是,上一步接受选择后 直接跳过输出结果,
        scanf("%f",&inch);    //这里编译器不执行跳过了            
        mc=inch*2.54;        //这里编译器不执行跳过了
        printf("Your height is %f mc",mc);
    else                    //这里编译器会报错,说if 和else不匹配
        scanf("%f",&mc);
        inch=mc/2.54;
        printf("Your height is %f inch",inch);
   
    return 0;                    //大家帮我看看到底是哪出了问题
        
}

[ 本帖最后由 jk6830020 于 2010-3-5 17:58 编辑 ]
搜索更多相关主题的帖子: 语句 
2010-03-05 17:51
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:20 
编译都没过怎么执行的!?记得加括号啊,即使是一条语句也加上,养成好习惯!
if (...)
{
...
}
else
{
...
}
2010-03-05 17:56
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
if(S=='y')
2010-03-05 17:57
jk6830020
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-27
收藏
得分:0 
以下是引用ldg628在2010-3-5 17:56:29的发言:

编译都没过怎么执行的!?记得加括号啊,即使是一条语句也加上,养成好习惯!
if (...)
{
...
}
else
{
...
}
谢谢,终于知道问题了,汗死,就没花括号,以前用TC 都没加{  }!!!
2010-03-05 18:03
mjk1988
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-3-1
收藏
得分:0 
Y是字符形式
2010-03-05 18:05
jk6830020
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-27
收藏
得分:0 
以下是引用mjk1988在2010-3-5 18:05:02的发言:

Y是字符形式
我上面定义了他是字符变量
2010-03-05 18:06
qwerhn21
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2009-11-30
收藏
得分:0 
3楼正解...
2010-03-05 19:31
邮贼
Rank: 2
等 级:论坛游民
帖 子:17
专家分:36
注 册:2010-3-5
收藏
得分:0 
#include <stdio.h>
main(void)
{
    float inch, mc;         
    char S;              
    printf("Please import the inch or the centimere!(y/m)?\n");      
   
    scanf("%c",&S);        
    if(S=='y')
    {
        scanf("%f",&inch);        
        mc=inch*2.54;      
        printf("Your height is %f mc\n", mc);
    }
    else if(S=='m')                  
    {
        scanf("%f",&mc);
        inch=mc/2.54;
        printf("Your height is %f inch\n", inch);
    }
    else
    {
        printf("Error\n");
    }                 
        
}

这样就好啦,但我也有点疑问,就是如果初始化为double类型,后面的结果就有点问题,那么该怎么处理呢?谢谢啦
2010-03-05 20:18
vs303791832
Rank: 2
来 自:地球
等 级:论坛游民
帖 子:87
专家分:12
注 册:2010-6-23
收藏
得分:0 
关注

小白无敌,哈哈.......我成功了
2010-07-25 16:26
快速回复:为什么我的程序里用if(M==S) 这样的语句程序不能正常的执行?
数据加载中...
 
   



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

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