逗海无涯 发表于 2018-6-28 11:02:25

萌新求救,为什么结果不一样呢

……
                do
                {
                        sum = sum + num;
                        status = scanf("%f", &num);
                } while (getchar() != '\n' && status == 1);
……
……
                do
                {
                        status = scanf("%f", &num);
                        sum = sum + num;
                } while (getchar() != '\n' && status == 1);
……
为什么会不一样呢

BngThea 发表于 2018-6-28 11:14:37

你前面的代码 num 和 sum 就都已经有值了
两种代码的区别就在于是否将原来的num的值加入到sum中

逗海无涯 发表于 2018-6-28 14:14:42

BngThea 发表于 2018-6-28 11:14
你前面的代码 num 和 sum 就都已经有值了
两种代码的区别就在于是否将原来的num的值加入到sum中

可以具体说一下吗,谢谢

人造人 发表于 2018-6-28 14:28:30

逗海无涯 发表于 2018-6-28 14:14
可以具体说一下吗,谢谢

可以把代码发完整吗,谢谢

逗海无涯 发表于 2018-6-28 14:34:03

人造人 发表于 2018-6-28 14:28
可以把代码发完整吗,谢谢

咳咳,不好意思啊,这是个课后题,没注意
#include <stdio.h>

int main()
{
      float num = 0;
      double sum = 0;
      int status;

      do
      {
                printf("请输入合法的数字:");
                do
                {
                        sum = sum + num;
                        status = scanf("%f", &num);
                } while (getchar() != '\n' && status == 1);
      } while(status == 1);

      printf("结果是:%.2lf\n", sum);

      return 0;
}

逗海无涯 发表于 2018-6-28 14:34:38

人造人 发表于 2018-6-28 14:28
可以把代码发完整吗,谢谢

抱歉{:10_245:}

人造人 发表于 2018-6-28 14:48:17

逗海无涯 发表于 2018-6-28 14:34
抱歉


逗海无涯 发表于 2018-6-28 15:07:40

人造人 发表于 2018-6-28 14:48


明白了,谢谢

逗海无涯 发表于 2018-6-28 15:08:17

BngThea 发表于 2018-6-28 11:14
你前面的代码 num 和 sum 就都已经有值了
两种代码的区别就在于是否将原来的num的值加入到sum中

谢谢你{:10_279:}
页: [1]
查看完整版本: 萌新求救,为什么结果不一样呢