|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
关于带你学C带你飞课后作业S1E8的动动手(1.)题
以下是我写的程序
- #include <stdio.h>
- int main() {
- char name[256];
- unsigned char height;
- float weight, inHeight, lbWeight;
- printf("请输入您的姓名:");
- scanf("%s", name);
- printf("请输入您的身高(cm):");
- scanf("%d", &height);
- printf("请输入您的体重(kg):");
- scanf("%f", &weight);
- printf("========== 正在为您转换 ==========\n");
- inHeight = height * 0.39;
- lbWeight = weight * 2.2;
- printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n", name, inHeight, lbWeight);
- return 0;
- }
复制代码
但是运行后的结果是:
请输入您的姓名:哈哈哈
请输入您的身高(cm):180
请输入您的体重(kg):70
========== 正在为您转换 ==========
的身高是70.20(in),体重是154.00(lb)。
名字部分不显示。
我也对照了一下答案,name的处理没有问题啊。scanf里的name 前面加了&也没用。
在VB上执行的
求教为什么会这样?怎么解决?
谢谢!
- #include <stdio.h>
- int main() {
- char name[256];
- int height; // unsigned char 这个就会出问题
- float weight, inHeight, lbWeight;
- printf("请输入您的姓名:");
- scanf("%s", name);
- printf("请输入您的身高(cm):");
- scanf("%d", &height);
- printf("请输入您的体重(kg):");
- scanf("%f", &weight);
- printf("========== 正在为您转换 ==========\n");
- inHeight = height * 0.39;
- lbWeight = weight * 2.2;
- printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n", name, inHeight, lbWeight);
- return 0;
- }
复制代码
|
|