鱼C论坛

 找回密码
 立即注册
查看: 1252|回复: 1

[已解决]刚开始学c语言有点小问题

[复制链接]
发表于 2019-9-26 00:17:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
答案#include <stdio.h>

#define FANQIE  3.7
#define JIELAN  7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG        2.4
#define YOUCAI  9
#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是什么意思有什么用?还有为什么我的就跑不出不对?
最佳答案
2019-9-26 00:35:55
本帖最后由 jackz007 于 2019-9-26 00:39 编辑

    float price ; 这一句声明 price 是一个浮点型变量;
#define FANQIE  3.7
#define JIELAN  7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG        2.4
#define YOUCAI  9
#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);

       恕在下才疏学浅!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-26 00:35:55 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-9-26 00:39 编辑

    float price ; 这一句声明 price 是一个浮点型变量;
#define FANQIE  3.7
#define JIELAN  7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG        2.4
#define YOUCAI  9
#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);

       恕在下才疏学浅!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 11:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表