求助求助
#include <stdio.h>int main()
{
char name;
float height, weight;
printf("请输入您的姓名:");
scanf("%s", name);
printf("请输入您的身高(cm):");
scanf("%f", &height);
printf("请输入您的体重(kg):");
scanf("%f", &weight);
printf("========== 正在为您转换 ==========\n");
height = height / 2.54; // 厘米转换为英寸
weight = weight / 0.453; // 公斤转换为磅
printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n", name, height, weight);
return 0;
}
//就是哪个char name是什么意思,为什么不能吧name定义为0,然后在scanf("%s",name)的name前面加一个&。
但是我试了一下,打印不出来,说什么name的问题。 char name 是记录名字的,外国人名字长,所以用了最大的长度 256,咱中国人,三个字,6个字符空间,为保险,10个字符空间足够了
scanf("%s",name),控制符定义是输入字符串,不需要加取地址符 &,若是定义输入单个字符,就必须要加取地址符 & 那如果我输入小甲鱼的三个字,是不是算三个字符?是一个汉字占两个字符位吗? 风过无痕1989 发表于 2020-11-15 15:51
char name 是记录名字的,外国人名字长,所以用了最大的长度 256,咱中国人,三个字,6个字符空间,为 ...
一个数字比如2,80这些算几个字符空间 严凯 发表于 2020-11-15 17:18
那如果我输入小甲鱼的三个字,是不是算三个字符?是一个汉字占两个字符位吗?
小甲鱼算6个字符 风过无痕1989 发表于 2020-11-15 17:31
小甲鱼算6个字符
大佬,那数字呢,比如1,80这些算几个字符,还有哪个加不加&,我不是很懂 严凯 发表于 2020-11-15 17:21
一个数字比如2,80这些算几个字符空间
int
int 在32/64位系统中占4个字节,一个字节能含八位二进制数字0/1,四个字节含32位,所以表示的数的范围为-(2的31次方-1)到(2的31次方-1),数字为-2 147 483 647~2 147 483 647.
float
float占四个字节,对于单精度浮点数(float)来说,有一位符号位,指数位共8位,尾数共23位。指数能够表示的指数范围为-128~127。尾数为23位。当尾数全1时再加上小数点前面的1,指数取到最大正数127(8位,正数最大127,负数最小-128),浮点数取得正数的最大值。
double
double占八个字节,Double的计算与此类似,double的符号位为52位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为+1.111111111111111111111*2^1023(1.后面52个1)为1.7*10^308。负数亦然。
char
占一个字节
页:
[1]