关于字符串声明的一些问题求教
本帖最后由 救赎自我- 于 2022-2-22 11:07 编辑请问以下代码中为什么非要声明字符串name为什么直接定义一个char类型变量name不能实现呢还有就是float和double用哪个具体怎么看呢求大佬指点迷津
#include<stdio.h>
int main()
{
char name;
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);
}
scanf("%s",name); 用字符串 保存输入的数据在后续使用name变量是 也必须做到先定义在使用 float和double都是浮点型数据类型double字节比float长精度也高
一般情况float都是可以适用的 本帖最后由 YSW9527 于 2022-2-22 23:03 编辑
如果用char name,那只是一个字符变量,只能存a、b、c这类的一个字节,而中文一个汉字是两个字节也就是说根本存不了名字,就连一个汉字也存不了,char name,就是一个名字为name的字符数组,可以存255字节(因为“\0”结束标记要占一个字节),float和double的区别就是精度不同,float可以精确到小数点后7位,而double是浮点数,它的小数点的位置是“浮动”的,所以很难说double类型能精确到小数点后面几位。通常这个关于精度的问题都是通过它能表示的有效数字(十进制)的位数来表示的,遵循IEEE标准的8字节(64位)的double能表示的有效数字的位数是:15 ~ 16。简单来说double比float精度高
{:10_279:} {:5_95:} 顶顶帖子{:10_279:}
页:
[1]