奔跑的小鸟11 发表于 2020-10-11 18:06:34

这个求平均数哪不对啊 求大神支招 用的是DEVC++

#include<stdio.h>
main()
{int a,b;
float r;
scanf("%d,%d",&a,&b);
r=(a+b)/2.0;
printf("r=%f",r);
}

昨非 发表于 2020-10-11 18:19:52

#include<stdio.h>
int main()
{
        int a, b;
        float r;
        scanf("%d,%d", &a, &b);
        r = (a + b) / 2.0;
        printf("r=%f", r);
        return 0;
}
加个返回值试试

sunrise085 发表于 2020-10-11 18:20:29

代码没问题,若能运行,但是结果不对的话,很可能是你输入不对
scanf("%d,%d",&a,&b);
这一行代码,输入a和b的值,中间必须用逗号隔开,否则b赋值就会出错
正常情况下scanf中除了格式化字符以外不添加任何其他字符的

奔跑的小鸟11 发表于 2020-10-11 18:23:20

sunrise085 发表于 2020-10-11 18:20
代码没问题,若能运行,但是结果不对的话,很可能是你输入不对

这一行代码,输入a和b的值,中间必须用逗 ...

输入a和b的值不可以用空格隔开吗

sunrise085 发表于 2020-10-11 20:04:15

本帖最后由 sunrise085 于 2020-10-11 20:06 编辑

奔跑的小鸟11 发表于 2020-10-11 18:23
输入a和b的值不可以用空格隔开吗

scanf读取多个变量的时候,默认是以空白符(空格、Tab、回车)作为间隔的。但是你在两个%d中间写了逗号,那scanf就会去读逗号,读不到逗号就会有问题。正常情况下scanf中除了格式化字符以外不添加任何其他字符的
scanf("%d%d",&a,&b);
这样写,你输入两个数字的时候,中间以任意个空白符隔开即可

关于scanf,可以看看我之前的一些回答:第一个   第二个
页: [1]
查看完整版本: 这个求平均数哪不对啊 求大神支招 用的是DEVC++