注册 登录
编程论坛 C语言论坛

我这个哪里有问题呢?运行输出一大串数字。小白一个,求大神指导。

qwb 发布于 2021-03-24 15:09, 1389 次点击
#include<stdio.h>
int main(){
    double p=1,w,s,d,f;
    scanf("%d,%d",&s,w);
    if(s<250){
        f=p*w*s;
        printf("总运费%d",&f);
    }
    return 0;
}
3 回复
#2
rjsp2021-03-24 15:44
程序代码:
#include <stdio.h>

int main( void )
{
    double p = 1;

    double s, w;
    if( scanf("%lf ,%lf",&s,&w) != 2 )
    {
        puts( "输入失败." );
        return 1;
    }

    if( s < 250 )
    {
        double f = p*w*s;
        printf( "总运费 %f\n", f );
    }
}


输入
2, 3

输出
总运费 6.000000
#3
Seventy7k2021-03-24 16:44
scanf没加 &吧,然后下面printf加了&


[此贴子已经被作者于2021-3-24 16:49编辑过]

#4
爱代码的小猪2021-03-24 19:22
scanf中要加&,还有数据类型是double型,所以要用scang("%lf",&s);但是输出时f也可以,因为printf的%f说明符既可以输出float型又可以输出double型。2楼还用了scanf的返回值来判断是否输入正确,scanf的返回值返回的是读入的个数。
1