鱼C论坛

 找回密码
 立即注册
查看: 2496|回复: 9

[已解决]学习C语言,小甲鱼第八课,课后作业动动手1的问题

[复制链接]
发表于 2022-12-11 21:17:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 liyibo373 于 2022-12-11 21:17 编辑

      在我学习小甲鱼C语言第一季第八课后,做了课后作业动动手1,然后代码如下:
#include <stdio.h>


int main()
{
        char Name[26];
        unsigned char  Height_cm;  //在课上听人的身高不大可能超过255,我就把身高定成了unsigned char 的类型
        float Weight_kg, Height_in, Weight_lb ;
       
        printf("请输入您的名字:");
        scanf("%s",&Name);
       
        printf("请输入您的身高(cm):");
        scanf("%hhd",&Height_cm);
       
        printf("请输入您的体重(kg):");
        scanf("%f",&Weight_kg);
       
    printf("========== 正在为您转换 ==========\n");
       
        Height_in =  Height_cm / 2.54 ;
        Weight_lb =  Weight_kg * 2.2 ;
       
    printf("%s的身高是%.2f(in),体重是%.2f(lb)\n",Name,Height_in,Weight_lb);
         
        return 0;
}

没想到结果是这样:(由于不能发图片,直接描述了)
最后一句执行的结果是:的身高是66.93(in),体重是152.02(lb)。也就是说,前面的小甲鱼不见了。

然后,我看了看答案,把Height_cm的变量改成int
int  Height_cm;
然后小甲鱼显示就正常了,这是为什么,是不能同时定义两个char吗


最佳答案
2022-12-16 16:38:55
实在抱歉,没有找到问题
黑灰.png
应该是编译环境错了
您可以给我看看具体是什么错误,或者是去编译器官网进行查看
Dev C++:https://bloodshed-dev-c.en.softonic.com/
Visual Stdio:https://visualstudio.microsoft.com/zh-hans/
如果满意,别忘了点击右下角设置最佳答案
如果还有疑惑,可以再跟帖问我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-11 21:25:37 | 显示全部楼层
没有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-11 21:43:20 | 显示全部楼层
#include <stdio.h>
int main()
{
        char Name[26];
        unsigned char  Height_cm;  //在课上听人的身高不大可能超过255,我就把身高定成了unsigned char 的类型
        float Weight_kg, Height_in, Weight_lb ;
       
        printf("请输入您的名字:");
        scanf("%s",&Name);
       
        printf("请输入您的身高(cm):");
        scanf("%hhd",&Height_cm);
       
        printf("请输入您的体重(kg):");
        scanf("%f",&Weight_kg);
       
    printf("========== 正在为您转换 ==========\n");
       
        Height_in =  Height_cm / 2.54 ;
        Weight_lb =  Weight_kg * 2.2 ;
       
    printf("%s的身高是%.2f(in),体重是%.2f(lb)\n",Name,Height_in,Weight_lb);
         
        return 0;
}
运行正常,估计是编译环境问题

运行结果

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

使用道具 举报

发表于 2022-12-11 22:06:21 | 显示全部楼层
scanf("%s",&Name);
改成
scanf("%s",Name);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-12 08:09:09 | 显示全部楼层

我的老师说这两种是一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-12 09:57:48 | 显示全部楼层
zhangjinxuan 发表于 2022-12-12 08:09
我的老师说这两种是一样的


谁知道那个编译器犯病,能标准化,尽量标准化
是不是这个问题让楼主试试不就知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-12 10:55:56 | 显示全部楼层
jhq999 发表于 2022-12-12 09:57
谁知道那个编译器犯病,能标准化,尽量标准化
是不是这个问题让楼主试试不就知道了

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

使用道具 举报

 楼主| 发表于 2022-12-12 15:33:38 | 显示全部楼层
jhq999 发表于 2022-12-12 09:57
谁知道那个编译器犯病,能标准化,尽量标准化
是不是这个问题让楼主试试不就知道了

不是这个问题,加不加&,不影响结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-16 16:38:55 | 显示全部楼层    本楼为最佳答案   
实在抱歉,没有找到问题
黑灰.png
应该是编译环境错了
您可以给我看看具体是什么错误,或者是去编译器官网进行查看
Dev C++:https://bloodshed-dev-c.en.softonic.com/
Visual Stdio:https://visualstudio.microsoft.com/zh-hans/
如果满意,别忘了点击右下角设置最佳答案
如果还有疑惑,可以再跟帖问我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-21 00:04:46 | 显示全部楼层
把Name和Height_cm反过来定义就可以了
#include <stdio.h>

int main()
{
    unsigned char  Height_cm;  //在课上听人的身高不大可能超过255,我就把身高定成了unsigned char 的类型
    char Name[26];
    float Weight_kg, Height_in, Weight_lb ;

    printf("请输入您的名字:");
    scanf("%s",&Name);

    printf("请输入您的身高(cm):");
    scanf("%hhd",&Height_cm);

    printf("请输入您的体重(kg):");
    scanf("%f",&Weight_kg);

    printf("========== 正在为您转换 ==========\n");

    Height_in =  Height_cm / 2.54 ;
    Weight_lb =  Weight_kg * 2.2 ;
       
    printf("%s的身高是%.2f(in),体重是%.2f(lb)\n",Name,Height_in,Weight_lb);

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 15:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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