得意的屁 发表于 2016-9-19 20:06:25

虚心请教 有截图 有代码

#include <stdio.h>

int main()
{
        float a, b, c, d, e, f, g;

        printf("a = %.6f\n", 5 / 3);
        printf("a = %.6f\n", 1 / 0);
        printf("a = %.6f\n", 1.2 + 3);
        printf("a = %.6f\n", 1.2 * 0);
        printf("a = %.6f\n", 6.0 / 2);
        printf("a = %.6f\n", 10 / 6.0);
        printf("a = %.6f\n", 3 / 5);

        return 0;
}


百度查 说出这个报错是没给变量赋值后来又这样看下面 再后来又

得意的屁 发表于 2016-9-19 20:08:21

#include <stdio.h>

int main()
{
        float a, b, c, d, e, f, g;

        a = 5 / 3;
        b = 1 / 0;
        c = 1.2 + 3;
        d = 1.2 * 0;
        e = 6.0 / 2;
        f = 10 / 6.0;
        g = 3 / 5;

        printf("a = %.6f\n", a);
        printf("a = %.6f\n", b);
        printf("a = %.6f\n", c);
        printf("a = %.6f\n", d);
        printf("a = %.6f\n", e);
        printf("a = %.6f\n", f);
        printf("a = %.6f\n", g);

        return 0;
}


我合计 是不是 0 不能做除数后来又

得意的屁 发表于 2016-9-19 20:11:05

#include <stdio.h>

int main()
{
        float a, c, d, e, f, g;

        a = 5 / 3;
        c = 1.2 + 3;
        d = 1.2 * 0;
        e = 6.0 / 2;
        f = 10 / 6.0;
        g = 3 / 5;

        printf("a = %.6f\n", a);
        printf("a = %.6f\n", c);
        printf("a = %.6f\n", d);
        printf("a = %.6f\n", e);
        printf("a = %.6f\n", f);
        printf("a = %.6f\n", g);

        return 0;
}


结果找到答案了 然后 今天三张图片自问自答 用没了 {:10_258:}

得意的屁 发表于 2016-9-19 20:12:08

感觉 第九课 第十课 是个坎啊{:10_266:}

lili200238 发表于 2016-9-19 23:32:57

为什么5/3和1/1以%f形式输出会为零呢?{:10_266:}

得意的屁 发表于 2016-9-21 16:55:37

lili200238 发表于 2016-9-19 23:32
为什么5/3和1/1以%f形式输出会为零呢?

整形除以整形得整形舍去小数
%f是不是得携程 %。2或者 点几f保留几位小数就写点几

satori 发表于 2016-9-21 19:41:41

lili200238 发表于 2016-9-19 23:32
为什么5/3和1/1以%f形式输出会为零呢?

5/3系统默认为整形除整形舍去了小数,改成a=5,b=3,c=a/b就可以了

lili200238 发表于 2016-9-22 00:31:16

satori 发表于 2016-9-21 19:41
5/3系统默认为整形除整形舍去了小数,改成a=5,b=3,c=a/b就可以了

5/3等于1.6666......去掉小数结果不应该为1吗?

satori 发表于 2016-9-22 11:12:35

lili200238 发表于 2016-9-22 00:31
5/3等于1.6666......去掉小数结果不应该为1吗?

5/3是a,你看一下你的代码,printf里面全部都是a=,第三行输出的是1.2*0,最后一行输出的是3/5,输出肯定是0啦

lili200238 发表于 2016-9-22 18:51:23

satori 发表于 2016-9-22 11:12
5/3是a,你看一下你的代码,printf里面全部都是a=,第三行输出的是1.2*0,最后一行输出的是3/5,输出肯定 ...

5/3是%.6f,不是a,我觉得5/3==1,输出应该是1.000000,但结果输出是0.000000,所以不理解了!!!

satori 发表于 2016-9-23 10:15:53

lili200238 发表于 2016-9-22 18:51
5/3是%.6f,不是a,我觉得5/3==1,输出应该是1.000000,但结果输出是0.000000,所以不理解了!!!

你好好看下你的printf后面写的是什么{:10_243:}

lili200238 发表于 2016-9-23 11:25:10

satori 发表于 2016-9-23 10:15
你好好看下你的printf后面写的是什么

printf("a = %.6f\n", 5 / 3);输出为0.000000

printf("%.6f\n", 5 / 3);输出也为0.000000,这个输出和a 是没有关系的。

lili200238 发表于 2016-9-23 11:26:58

satori 发表于 2016-9-23 10:15
你好好看下你的printf后面写的是什么

整个程序不存在给a 赋值吧。

lili200238 发表于 2016-9-23 11:29:16

satori 发表于 2016-9-23 10:15
你好好看下你的printf后面写的是什么

#include <stdio.h>

int main()
{
      float a, b, c, d, e, f, g;

      printf("a = %.6f\n", 5 / 3);
      printf("a = %.6f\n", 1 / 0);
      printf("a = %.6f\n", 1.2 + 3);
      printf("a = %.6f\n", 1.2 * 0);
      printf("a = %.6f\n", 6.0 / 2);
      printf("a = %.6f\n", 10 / 6.0);
      printf("a = %.6f\n", 3 / 5);

      return 0;
}

运行的是这个
页: [1]
查看完整版本: 虚心请教 有截图 有代码