S1E8身高体重转换
1.为什么char name后面跟256?写255也不影响结果的2.为什scanf体重的时候多加%.1f的限制,就printf不会出来体重呢?
#include<stdio.h>
int main()
{
char name;
float height,weight;
printf("请输入您的姓名:");
scanf("%s",&name);
printf("请输入您的身高:");
scanf("%f",&height);
printf("请输入你的体重:");
scanf("%.1f",&weight);
printf("========== 正在为您转换 ==========\n");
height = height / 2.54; // 厘米转换为英寸
weight = weight / 0.453; // 公斤转换为磅
printf("%s的身高为%.2f,体重为%.2f",name,height,weight);
return 0;
} 本帖最后由 Stubborn 于 2021-5-15 21:24 编辑
{:10_285:}是甲鱼哥没讲嘛
char name后面跟256?通俗的说256指数据的大小,整个name可以存放 256 个字节的数据, char 1 字节* 256. 。名字短你不加256都得
为什scanf体重的时候多加%.1f的限制。 %.1f 是打印格式化的符号, 这整个表明是输出一个浮点数,保留一位小数
可以写成scanf("%2f");这是设置域宽, Stubborn 发表于 2021-5-15 21:20
是甲鱼哥没讲嘛
char name后面跟256?通俗的说256指数据的大小,整个name可以存放 256 个字节 ...
我输入59.1是符合设置的限制的,但是printf却出现了错误,这点没咋懂 新医霍汶希 发表于 2021-5-16 16:47
我输入59.1是符合设置的限制的,但是printf却出现了错误,这点没咋懂
scanf("%.1f",&weight); 这种是错误的,scanf没有%.1f格式,可以写成scanf("%2f");这是设置域宽,
页:
[1]