fbczr 发表于 2019-9-26 00:17:11

刚开始学c语言有点小问题

答案#include <stdio.h>

#define FANQIE3.7
#define JIELAN7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG      2.4
#define YOUCAI9
#define HUANGGUA      6.3
#define BAILUOBO      0.5

int main()
{
      float price;

      price = (2 * FANQIE + KONGXINCAI + YOUCAI) * 0.5; // 1斤 == 0.5公斤
      printf("小明需要支付%.2f元\n", price);

      price = (3 * XIQIN + 0.5 * YANGCONG + 5 * HUANGGUA) * 0.5;
      printf("小红需要支付%.2f元\n", price);

      price = (10 * HUANGGUA + 20 * BAILUOBO) * 0.5;
      printf("小甲鱼需要支付%.2f元\n", price);

      return 0;
}
我的int main()
{
                float price;
                price = ("2 * %s + %s + %s\n ", fanqie, kongxincai, youcai);
               
                return 0 ;
}
上面那个float price是什么意思有什么用?还有为什么我的就跑不出不对?

jackz007 发表于 2019-9-26 00:35:55

本帖最后由 jackz007 于 2019-9-26 00:39 编辑

    float price ; 这一句声明 price 是一个浮点型变量;

#define FANQIE3.7
#define JIELAN7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG      2.4
#define YOUCAI9
#define HUANGGUA      6.3
#define BAILUOBO      0.5

       这些定义的是宏,是用来要求编译程序,只要在代码中出现 define 后面的文本,就用这个文本后面的数字替换这些文本。

       例如:
price = (2 * FANQIE + KONGXINCAI + YOUCAI) * 0.5;
       这一句会在预编译阶段,先被修改成下面的形式,然后才开始实际编译:
price = (2 * 3.7 + 8 + 9) * 0.5;

       在楼主写的代码中,唯一一句代码不知道遵循的是什么语言,也不知道想干啥,完全不知道如何着手去修改。

                price = ("2 * %s + %s + %s\n ", fanqie, kongxincai, youcai);

       恕在下才疏学浅!!!
页: [1]
查看完整版本: 刚开始学c语言有点小问题