yixinwenxin 发表于 2019-7-12 02:33:53

初学C

本帖最后由 yixinwenxin 于 2019-7-12 02:36 编辑

首先感谢大佬能有时间解答

源码
#include <stdio.h>

/*fahr =0,20,40,60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300
   fahr = -17, -6, 4, 15, 26, 37, 48, 60, 71, 82, 93, 104, 115, 126, 137, 148*/
main()
{
        int fahr, celsius;
        int lower, upper, step;
       
        lower = 0;        /*温度表的下限*/
        upper = 300; /*温度表的上线*/
        step= 20; /*步长*/
       
        fahr = lower;
        while(fahr<= upper) {
        celsius = 5 * (fahr-32)/9;
        printf("%d\t%d\n",fahr,celsius);
        fahr = fahr + step;
        }
       
}

问:
int fahr, celsius;整数型和浮点数型为什么能组合在一起没有冲突;
int lower, upper, step; lower表示的是什么?这句怎么解释?
今天先学到这明晚继续向下学习

mqcake 发表于 2019-7-12 09:23:25

加油!

shuofxz 发表于 2019-7-12 11:09:18

这个程序看起来是把华氏度转化成摄氏度吧?

问题①:int fahr, celsius;整数型和浮点数型为什么能组合在一起没有冲突;
这不都是整数吗? 你疑惑的点是在后面这里celsius = 5 * (fahr-32)/9;么?一个小数为什么可以赋值给一个int类型的变量
这个是可以这么写,赋值的时候会自动丢弃掉小数点后面的数字,只保留整数。

问题②:int lower, upper, step; lower表示的是什么?这句怎么解释?
题目意思应该是把0~300的华氏度,转化成摄氏度。所以lower是起始温度0,upper是最高温度300,step是步长代表温度间距20

页: [1]
查看完整版本: 初学C