|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
当输入第一个scanf值 回车,下面不需要再输入 全部显示出来了,为什么????是不允许多个scanf存在吗?。
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
double cm, kg, in, lb;
char name;
printf("请输入您的姓名:\n");
scanf("%c", &name);
printf("请输入您的身高(cm):\n");
scanf("%lf", &cm);
printf("请输入您的体重(KG):\n");
scanf("%lf", &lb);
printf("=============正在转换,请您等待===============\n");
in = cm / 30.48;
lb = cm / 0.45359237;
printf("%c的身高是:%.2lf(in),体重是%.2lf(lb)", name, in, lb);
}
肯定是你输入错了。你的第一个scanf是读取一个字符,你是不是输入了多个字符?
那样的话,后面两个scanf会读取错误,给你的感觉好像是没有让你输入一样。
比如,abdc,第一个scanf读取a给name,然后缓冲区还有剩下的字符,程序继续执行,遇到第二个scanf,会继续冲缓冲区读取内容,但是读到的不是double,所以没有给cm赋值,第三个scanf也是如此。
|
|