林Linsanity 发表于 2019-11-13 18:54:37

C语言新手求助

运输公司计算运费的程序题,程序是没看答案之前写的,答案看懂了。我写的编译不了,就是想知道自己写的都有哪些错误。编译时会出现warning C4700: local variable 'd' used without having been initialized这样的警告,求大神指点。


#include <stdio.h>

main()
{
       
        double p,w,d,f;
        int s;
        printf("基本运费:货物重量: 距离:\n");
        scanf("%lf %lf %d",&p,&w,&s);
        f = p*w*s*(1-d);
    if(s < 250)
        {
                d = 0;
      printf("总运费为:%lf",f);
        }
        else if(250 <= s && s < 500)
        {
                d = 0.02;
                printf("总运费为:%lf",f);
        }
        else if(500 <= s && s < 1000)
        {
                d = 0.05;
          printf("总运费为:%lf",f);
        }
        else if(1000 <= s && s < 2000)
        {
                d = 0.08;
      printf("总运费为:%lf",f);
        }
        else if(2000 <= s && s < 3000)
        {
                d = 0.1;
      printf("总运费为:%lf",f);
        }
        else
        {
                d = 0.15;
      printf("总运费为:%lf",f);
        }
}

bin554385863 发表于 2019-11-13 19:20:59

本帖最后由 bin554385863 于 2019-11-13 21:10 编辑

      double p,w,d,f;
      int s;
      printf("基本运费:货物重量: 距离:\n");
      scanf("%lf %lf %d",&p,&w,&s);//你这里值初始化了p,w,s没初始化d你觉得用一个随机数计算合适么,请记住在使用一个变量之前一定要初始化!
      f = p*w*s*(1-d);

编译器那么明显的提示,就不能百度翻译一下?
warning C4700: local variable 'd' used without having been initialized
警告C4700:未初始化就使用了局部变量“d”

林Linsanity 发表于 2019-11-14 09:27:19

bin554385863 发表于 2019-11-13 19:20
double p,w,d,f;
      int s;
      printf("基本运费:货物重量: 距离:\n");


将d初始化是scanf("%lf %lf %d %lf",&p,&w,&s,&d)这样做吗
页: [1]
查看完整版本: C语言新手求助