404267124 发表于 2022-3-14 17:53:22

两个代码不同在哪里

我的代码:
#include <stdio.h>

int main()
{
                char name;
                float weight,height;
                printf("请输入您的姓名,");
                scanf("%s",&name);
                printf("请输入身高,");
                scanf("%f",&height);
                printf("请输入体重,");
                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;
               
}

小甲鱼的代码:
#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;


为什么我的代码无法计算转换后的身高体重

ckblt 发表于 2022-3-14 18:26:01

你写的char name;
小甲鱼写的 char name;

zzxhh628 发表于 2022-3-15 08:07:48

本帖最后由 zzxhh628 于 2022-3-15 08:09 编辑

char变量声明的不同,小甲鱼用的是char数组,你用的就是char,只是一个字符,所以char应该存储不了一个字符串,字符串应该用字符数组来存储。

黎羽轩 发表于 2022-4-10 10:05:38

字符数组,需要存储空间的,你直接定义一个char,空间有限

星诺诺诺 发表于 2022-4-12 17:13:09

要char name
页: [1]
查看完整版本: 两个代码不同在哪里