| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2159 人关注过本帖
标题:不知道这里面有什么差别,还望你们可以教教初学者
只看楼主 加入收藏
zhuyuzhi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
不知道这里面有什么差别,还望你们可以教教初学者
我想请问一下这两段代码有什么差别吗
#include<stdio.h>
int main()
{
   float a;
   scanf("%f",&a);
   if(0<a<=15)
     printf("%.2f",4.0*a/3);
   if(a>15)
     printf("%.2f",2.5*a-17.5);
     return 0;
}//部分错误,有四组测试数据但是有一组没能通过

#include <stdio.h>
int main ()
{   
    double a;   
    scanf("%lf",&a);   
    double sum;   
    if(a>=15)   
    {      
      sum=2.5*a-17.5;   
    }
    else   
    {        
      sum=4.0*a/3;   
    }   
    printf("%.2f",sum);
  return 0;
}
搜索更多相关主题的帖子: scanf printf return double sum 
2019-01-30 10:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
if(0<a<=15)  这已经不是你所期望的代码了

DO IT YOURSELF !
2019-01-30 10:11
ZJYTY
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:92
专家分:700
注 册:2018-12-20
收藏
得分:4 
建议再理解一下运算符优先级
图片附件: 游客没有浏览图片的权限,请 登录注册


if(0<a<=15)是将0<a的结果拿来与15进行比较

-------------------------------若有不当之处,敬请谅解-------------------------------
2019-01-30 11:25
zhuyuzhi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-30
收藏
得分:0 
回复 2楼 wp231957
没太听懂,比较笨,还请明示
2019-01-30 12:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:4 
回复 4楼 zhuyuzhi
if(0<a<=15) 等同于 if( (0<a) <= 15 )
假设a是100,那么 0<a 结果为true;然后评估 true<=15,结果为true
2019-01-30 12:24
zhuyuzhi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-30
收藏
得分:0 
回复 5楼 rjsp
就是按照从左到右的顺序若a>0就是true 判断为真,是为1的意思吗?为true<=15 是什么意思,是把true当成1了吗?
2019-01-30 12:28
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
c语言中a<b<c的表示方法是a<b  && b<c

DO IT YOURSELF !
2019-01-30 12:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
5楼只是帮你分析你得代码为什么达不到你期望的目的

DO IT YOURSELF !
2019-01-30 12:35
zhuyuzhi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-30
收藏
得分:0 
回复 2楼 wp231957
那我改成if((a>0)&&(a<=15))是不是就行了?
2019-01-30 12:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 9楼 zhuyuzhi
自己试试啊,我也没细看你得代码

DO IT YOURSELF !
2019-01-30 12:37
快速回复:不知道这里面有什么差别,还望你们可以教教初学者
数据加载中...
 
   



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

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