鱼C论坛

 找回密码
 立即注册
查看: 1712|回复: 8

新手改正

[复制链接]
发表于 2014-8-24 15:56:54 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>

void main()
{
    double a,b,c;
        a=1;
        b=3;
        c=1/3*3;
       
        printf("%f\n",a);
        printf("%f\n",b);
        printf("%f\n",c);



}

帮忙看看哪错了,怎么改

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-24 17:00:19 | 显示全部楼层
将c=1/3*3改成c=1/3.0*3才会保留小数
因为c=1/3=0,不保留小数,c=1/3.0才保留小数
不信不可以看看c=1*3/3=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-24 19:17:55 | 显示全部楼层
#include <stdio.h>

void main()
{
    int a,b;
        double c;
        a=1;
        b=3;
        c=1.0/3.0*3.0;
        
        printf("%d\n",a);
        printf("%d\n",b);
        printf("%f\n",c);



}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-24 23:34:00 | 显示全部楼层
#include <stdio.h>

int main()
{
    double a,b,c;
        a=1;
        b=3;
        c=1/3*3;
        
        printf("%f\n",a);
        printf("%f\n",b);
        printf("%f\n",c);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-26 14:59:23 | 显示全部楼层
#include <stdio.h>
void main()
{
    double a,b,c;
        a=1;
        b=3;
        c=1.0/3*3;
        printf("%f\n%f\n%f\n",a,b,c);
}
嘻嘻,1/3=0而1.0/3才会得到一个浮点型的值:big
所涉及到的知识点:
双目运算符两边的运算类型必须保持一致!运算符两端的类型不一致时,要把两边转换成相同类型后进行运算!
一般会把“低型”转换为“高型”比如此处(要想得到一个实型数→_→ 1/3两边都是整型,要得到一个实型数,的应把他们转换为实型再进行运算!1.0是实型,3是整型,实型“高于”整型,因此系统会自动把3转换为实型再与1.0进行运算,就得到一个实型的结果了&#9834;(′▽`))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-31 21:27:25 | 显示全部楼层
本帖最后由 风之残月 于 2014-8-31 21:29 编辑
#include <stdio.h>

void main()
{ 
    double a, b, c;

    a = 1.0;
    b = 3.0;
    c = 1.0 / 3.0 * 3.0;
    
    printf("%f\n",a);
    printf("%f\n",b);
    printf("%f\n",c);
}

c = 1 / 3 * 3,1 / 3 = 0,最后0 * 3 = 0,输出时以浮点方式显示就是0.000000,浮点型变量最好以浮点型方式表示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-31 23:42:56 From FishC Mobile | 显示全部楼层
为什么不把,浮点数,改为整数呢?        把duoble改为int         把%f改为%d
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-31 23:58:44 | 显示全部楼层
赋值还是按照规则比较好,还有那个除法和乘法的优先级是同等的,是不是要在后面加个小括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-3-17 21:50:02 | 显示全部楼层
double 输出时最好用 %ld,
还有才  c = 1 / 3.0 * 3
这样才对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 19:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表