329759546 发表于 2018-8-12 09:35:48

赋值语句的位置很重要吗

#include <stdio.h>
#include <math.h>

int main()
{
        int a;
        float b;
       
        printf("请输入一个整数:");
        scanf("%d", &a);
       
        b = pow(a, 5);
       
        printf("%d的五次方是:%.2f",a,b);
       
        return 0;
}

把b = pow(a, 5);移上去变成
#include <stdio.h>
#include <math.h>

int main()
{
        int a;
        float b;
       
        b = pow(a, 5);
       
        printf("请输入一个整数:");
        scanf("%d", &a);
       
        printf("%d的五次方是:%.2f",a,b);
       
        return 0;
}
为什么输出结果不一样?

无符号整形 发表于 2018-8-12 10:01:00

因为第一个是先获取用户输入再计算,第二个是求未初始化的变量a的5次方,后面的scanf已经晚了(已经算出来了)

329759546 发表于 2018-8-12 10:01:46

无符号整形 发表于 2018-8-12 10:01
因为第一个是先获取用户输入再计算,第二个是求未初始化的变量a的5次方,后面的scanf已经晚了(已经算出来 ...

我明白了谢谢
页: [1]
查看完整版本: 赋值语句的位置很重要吗