s1e8课后作业最后一个动动手程序运行中出错
当我编译运行该程序时,输入完数据后,进行下一步转换时,电脑弹出了:“0x77clc192”指令引用的“0x00401ea0”内存。该内存不能为“written”然后就直接结束了。
代码如下:
#include <stdio.h>
int main()
{
char a;
double b,c,d,e;
printf("请输入您的姓名:");
scanf("%s",a);
printf("请输入您的身高(cm):");
scanf("%lf",b);
printf("请输入您的体重(kg):");
scanf("%lf",c);
printf("======= 正在为您转换 ==========");
d = b * 0.393700788;
e = c * 2.20462262;
printf("%s的身高是%lf(in),体重是%lf(lb)。");
return 0;
}
求大神告诉我该怎么办啊。{:10_266:} 本帖最后由 major_lyu 于 2020-3-10 21:42 编辑
#include <stdio.h>
int main()
{
char a;
double b,c,d,e;
printf("请输入您的姓名:");
scanf("%s",a);
printf("请输入您的身高(cm):");
//scanf("%lf",b); //scanf读入数据需要给定的是变量的地址,即&b
scanf("%lf",&b);
printf("请输入您的体重(kg):");
//scanf("%lf",c); //同上
scanf("%lf",&c);
printf("======= 正在为您转换 ==========");
d = b * 0.393700788;
e = c * 2.20462262;
printf("%s的身高是%lf(in),体重是%lf(lb)", a, d, e);//printf格式输出要给定对应的变量
return 0;
} scanf("%s", &a); scand读取非字符串的数据时要加取址符 &
页:
[1]