godwu 发表于 2022-2-26 01:32:45

关于double类型

#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;
}
为什么我把float num 改成 double num就一直为0了。

isdkz 发表于 2022-2-26 05:08:52

本帖最后由 isdkz 于 2022-2-26 09:58 编辑

double 类型在输入的时候得用 lf 来接收
#include <stdio.h>

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

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

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

      return 0;
}

godwu 发表于 2023-4-3 17:12:52

isdkz 发表于 2022-2-26 05:08
double 类型在输入的时候得用 lf 来接收

谢谢,问了问题,过了一年才来{:5_96:}

isdkz 发表于 2023-4-3 17:14:28

godwu 发表于 2023-4-3 17:12
谢谢,问了问题,过了一年才来

一年多了,总算知道回来了{:5_97:}
页: [1]
查看完整版本: 关于double类型