鱼C论坛

 找回密码
 立即注册
查看: 868|回复: 6

[已解决]求助求助

[复制链接]
发表于 2020-11-15 15:45:44 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

int main()
{
        char name[256];
        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[256]是什么意思,为什么不能吧name定义为0,然后在scanf("%s",name)的name前面加一个&。
但是我试了一下,打印不出来,说什么name的问题。
最佳答案
2020-11-15 15:51:14
char name[256] 是记录名字的,外国人名字长,所以用了最大的长度 256,咱中国人,三个字,6个字符空间,为保险,10个字符空间足够了

scanf("%s",name),控制符定义是输入字符串,不需要加取地址符 &,若是定义输入单个字符,就必须要加取地址符 &
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-15 15:51:14 | 显示全部楼层    本楼为最佳答案   
char name[256] 是记录名字的,外国人名字长,所以用了最大的长度 256,咱中国人,三个字,6个字符空间,为保险,10个字符空间足够了

scanf("%s",name),控制符定义是输入字符串,不需要加取地址符 &,若是定义输入单个字符,就必须要加取地址符 &
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 17:18:03 From FishC Mobile | 显示全部楼层
那如果我输入小甲鱼的三个字,是不是算三个字符?是一个汉字占两个字符位吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 17:21:24 | 显示全部楼层
风过无痕1989 发表于 2020-11-15 15:51
char name[256] 是记录名字的,外国人名字长,所以用了最大的长度 256,咱中国人,三个字,6个字符空间,为 ...

一个数字比如2,80这些算几个字符空间

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
昨非 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 17:31:53 | 显示全部楼层
严凯 发表于 2020-11-15 17:18
那如果我输入小甲鱼的三个字,是不是算三个字符?是一个汉字占两个字符位吗?

小甲鱼  算6个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 17:38:05 | 显示全部楼层

大佬,那数字呢,比如1,80这些算几个字符,还有哪个加不加&,我不是很懂

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
昨非 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 17:39:10 | 显示全部楼层
严凯 发表于 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

占一个字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 13:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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