鱼C论坛

 找回密码
 立即注册
查看: 2200|回复: 3

S1E8身高体重转换

[复制链接]
发表于 2021-5-15 20:51:24 | 显示全部楼层 |阅读模式

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

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

x
1.为什么char name后面跟256?写255也不影响结果的
2.为什scanf体重的时候多加%.1f的限制,就printf不会出来体重呢?
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         char name[256];
  5.         float height,weight;
  6.        
  7.         printf("请输入您的姓名:");
  8.         scanf("%s",&name);
  9.        
  10.         printf("请输入您的身高:");
  11.         scanf("%f",&height);
  12.        
  13.         printf("请输入你的体重:");
  14.         scanf("%.1f",&weight);
  15.        
  16.         printf("========== 正在为您转换 ==========\n");
  17.        
  18.         height = height / 2.54; // 厘米转换为英寸
  19.     weight = weight / 0.453; // 公斤转换为磅
  20.    
  21.     printf("%s的身高为%.2f,体重为%.2f",name,height,weight);
  22.         return 0;
  23. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-15 21:20:31 | 显示全部楼层
本帖最后由 Stubborn 于 2021-5-15 21:24 编辑

是甲鱼哥没讲嘛
char name后面跟256?  通俗的说256指数据的大小,整个name可以存放 256 个字节的数据, char 1 字节  * 256. 。名字短你不加256都得
为什scanf体重的时候多加%.1f的限制。 %.1f 是打印格式化的符号, 这整个表明是输出一个浮点数,保留一位小数
可以写成scanf("%2f");这是设置域宽,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-16 16:47:13 | 显示全部楼层
Stubborn 发表于 2021-5-15 21:20
是甲鱼哥没讲嘛
char name后面跟256?  通俗的说256指数据的大小,整个name可以存放 256 个字节 ...

我输入59.1是符合设置的限制的,但是printf却出现了错误,这点没咋懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-16 21:17:46 | 显示全部楼层
新医霍汶希 发表于 2021-5-16 16:47
我输入59.1是符合设置的限制的,但是printf却出现了错误,这点没咋懂


scanf("%.1f",&weight);   这种是错误的,scanf没有%.1f格式,可以写成scanf("%2f");这是设置域宽,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 18:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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