hujiezhong 发表于 2021-3-8 19:49:01

大佬们我这个为什么运行不正确


我的代码是这个
主要母的是想输入cm身高和kg体重
然后进行转换,分别成为in英寸和lb磅
能看看为什么运行不正确吗!
#include"stdio.h"
int main()
{
        float tz,sg,lb,in;
        char name;
        printf("请输入您的姓名:");
        scanf("%c\n",name);
        printf("请输入您的身高(cm):");
        scanf("%f\n",sg);
        printf("请输入您的体重(kg):");
        scanf("%f\n",tz);
        in=sg*(2.54/12);
        lb=tz*2.2;
        printf("你现在的身高是%f(in)    你现在的体重是%f(lb)",in,lb);
}

wp231957 发表于 2021-3-8 20:11:36

scanf后面要跟地址,老师木有教?

魔轩 发表于 2021-3-8 21:36:58

本帖最后由 魔轩 于 2021-3-8 21:40 编辑

scanf后面加上&这个符号试试
例如
scanf("%c\n",&name);
scanf("%f\n",&sg);
scanf("%f\n",&tz);

jackz007 发表于 2021-3-8 23:06:17

本帖最后由 jackz007 于 2021-3-8 23:11 编辑

      1、name 必须定义成字符数组;
      2、scanf() 中的格式描述符字符串中最好不要出现非必须的任何字符,包括换行符、逗号、空格等;
      3、scanf() 从键盘中读取数值型数据时,输入参数必须是变量地址,不可以是变量本身;
#include <stdio.h>                                     // 【修改】
int main(void)
{
      float tz , sg , lb , in                      ;
      char name                              ; // 【修改】
      printf("请输入您的姓名:")                  ;
      scanf("%s" , name)                           ; // 【修改】
      printf("请输入您的身高(cm):")                ;
      scanf("%f" , & sg)                           ; // 【修改】
      printf("请输入您的体重(kg):")                ;
      scanf("%f" , & tz)                           ; // 【修改】
      in = sg * 2.54 / 12                        ; // 【修改】
      lb = tz * 2.2                              ;
      printf("身高 %f(in),体重 %f(lb)\n" , in ,lb) ; // 【修改】
}

hujiezhong 发表于 2021-3-9 20:02:07

原来是我自己没检查清楚啊,我还以为是电脑有延迟
页: [1]
查看完整版本: 大佬们我这个为什么运行不正确