大佬们我这个为什么运行不正确
我的代码是这个
主要母的是想输入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);
} scanf后面要跟地址,老师木有教? 本帖最后由 魔轩 于 2021-3-8 21:40 编辑
scanf后面加上&这个符号试试
例如
scanf("%c\n",&name);
scanf("%f\n",&sg);
scanf("%f\n",&tz); 本帖最后由 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) ; // 【修改】
} 原来是我自己没检查清楚啊,我还以为是电脑有延迟
页:
[1]