三横艺术 发表于 2018-9-14 10:22:59

新手问题

程序1
#include<stdio.h>
int main()
{
        float a,b;
        printf("请输入您的身高(英寸单位):\n");
        scanf("%f",&b);
        a=2.45*b;
        printf("您的身高为%.2f厘米",a);
        return 0;
}
程序2
#include<stdio.h>
int main()
{
        float a,b;
      a=2.45*b;
        printf("请输入您的身高(英寸单位):\n");
        scanf("%f",&b);
        printf("您的身高为%.2f厘米",a);
        return 0;
}
这两个程序运行结果为什么不一样?

jackz007 发表于 2018-9-14 11:58:57

本帖最后由 jackz007 于 2018-9-14 12:03 编辑

    程序 1 是正确的,程序 2 是错误的。

    程序 2 中,语句:

    a=2.45*b ;

    出现在

    scanf("%f",&b);

    之前,就是说,b 在还没有被赋值的时候就已经被使用,后面从键盘输入得到的 b 反而没有得到任何应用,这就是问题所在。

三横艺术 发表于 2018-9-18 09:05:18

jackz007 发表于 2018-9-14 11:58
程序 1 是正确的,程序 2 是错误的。

    程序 2 中,语句:


理解了 谢谢
页: [1]
查看完整版本: 新手问题