|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 救赎自我- 于 2022-2-22 11:07 编辑
请问以下代码中为什么非要声明字符串name 为什么直接定义一个char类型变量name不能实现呢 还有就是float和double用哪个具体怎么看呢 求大佬指点迷津
#include<stdio.h>
int main()
{
char name[256];
float d,e;
printf("请输入您的姓名:");
scanf("%s",&name);
printf("请输入您的身高(cm):");
scanf("%f",&d);
printf("请输入您的体重(kg):");
scanf("%f",&e);
printf("========正在为您转换========\n");
d = d/2.54;
e = e/0.453;
printf("%s的身高是%.2f(in),体重是%.2f(lb)\n",name,d,e);
}
本帖最后由 YSW9527 于 2022-2-22 23:03 编辑
如果用char name,那只是一个字符变量,只能存a、b、c这类的一个字节,而中文一个汉字是两个字节也就是说根本存不了名字,就连一个汉字也存不了,char name[256],就是一个名字为name的字符数组,可以存255字节(因为“\0”结束标记要占一个字节),float和double的区别就是精度不同,float可以精确到小数点后7位,而double是浮点数,它的小数点的位置是“浮动”的,所以很难说double类型能精确到小数点后面几位。通常这个关于精度的问题都是通过它能表示的有效数字(十进制)的位数来表示的,遵循IEEE标准的8字节(64位)的double能表示的有效数字的位数是:15 ~ 16。简单来说double比float精度高

|
|