| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 439 人关注过本帖
标题:数据类型
取消只看楼主 加入收藏
bccnba
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-8-5
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:2 
数据类型
运行下面代码会出现如下警告:choosing\choosing\5.8.c(26): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
求大神解释一下是什么原因,我并没有定义double型变量啊



#include <stdio.h>
void main()
{
    float b1, b2, b4, b6, b10,d;
    long int i;
    int c;
    b1 = 100000 * 0.1;
    b2 = b1 + 100000*0.075;
    b4 = b2 + 200000*0.05;
    b6 = b4 + 200000*0.03;
    b10 = b6 + 400000*0.015;
    scanf_s("%ld", &i);
    if (i >1000000)c = 10;
     else c = i / 100000;
    switch(c)
    {
        case 0:d = i*0.1; break;
        case 1:d = b1 + (i - 100000)*0.075; break;
        case 2:
        case 3:d = b2 + (i - 200000)*0.05; break;
        case 4:
        case 5:d = b4 + (i - 400000)*0.03; break;
        case 6:
        case 7:
        case 8:
        case 9:d = b6 + (i - 600000)*0.015; break;
        case 10:d = b10 + (i - 1000000)*0.01; break;
    }
    printf("%5.2f", d);
}
2015-08-17 22:28
bccnba
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-8-5
收藏
得分:0 
回复 3楼 hjx1120
thank you
2015-08-19 11:13
bccnba
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-8-5
收藏
得分:0 
回复 4楼 柳逸尘
2015-08-19 11:23
快速回复:数据类型
数据加载中...
 
   



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

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