首先是define的使用
#include <stdio.h>
#define inches_per_feet = 12;
#define height_per_inches = 2.54;
int main()
{
float height;
float inches;
float i_inches;
int feets;
printf("Enter a height in centimeters: ");
scanf("%f", &height);
while (height > 0)
{
inches = height / 2.54;//英寸
feets = (int)(inches / 12);//英尺
i_inches = inches - feets * 12;//余数
printf("%0.1f cm = %d feets, %0.1f inches\n", height, feets, i_inches);
printf("Enter a height in centimeters(<=0 to quit): ");
scanf("%f", &height);
}
printf("bye");
return 0;
}
const的使用
#include <stdio.h>
int main()
{
float height;
float inches;
float i_inches;
int feets;
printf("Enter a height in centimeters: ");
scanf("%f", &height);
while (height > 0)
{
const inches_per_feet = 12;
const height_per_inches = 2.54;
inches = height / height_per_inches;//英寸
feets = (int)(inches / inches_per_feet);//英尺
i_inches = inches - feets * inches_per_feet;//余数
printf("%0.1f cm = %d feets, %0.1f inches\n", height, feets, i_inches);
printf("Enter a height in centimeters(<=0 to quit): ");
scanf("%f", &height);
}
printf("bye");
return 0;
}
为什么输入相同的数字,最终导致余数不一样呢?希望能解释的清晰一点
C中关于define和const的使用
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 砻谷踏碓 2021-07-18 19:51关注
我不知道你的代码为什么不会有警告,const不加类型会默认为int类型,而#define是宏替换
所以
#define之后为 inches = height /2.54
const之后为inches = height / 2本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答
- ¥15 win11 23H2删除推荐的项目,支持注册表等