C程序编译后执行不正确【输入错误,显示错误】

#include <stdio.h>
int main()
{
	int    age,height;
	double  weight;
	printf("年龄\n");
	scanf_s("%d\n", &age);
	printf("------------------\n");
	printf("身高\n");
	scanf_s("%d\n", &height);
	printf("------------------\n");
	printf("体重\n");
	scanf_s("%lf\n", &weight);
	printf("------------------\n");
	printf("年龄:%d 岁\n", age);
	printf("身高:%d CM\n", height);
	printf("体重:%lf KG\n", weight);
	if (weight>190)
	{
		printf("肥胖儿童(这TM不止是胖了)\n");
	}
	else
	{
		printf("正常\n");
	}
	printf("任意键结束\n");
	getch();

	return 0;
}

上面是代码,随手练习用。现在测试的时候发现一个问题,

正常应该是:

年龄

18

18  //这里会输入两遍,执行输出时显示18 18 180,而不是18 180 180

------------------------

身高

180

-------------------------

体重

180

--------------------------

而编译后则是

年龄

18

------------------------

身高

180

-------------------------

体重

180

--------------------------

另外我将编译好的程序移动到其他计算机上就无法使用了,提示无法找到ucrtbased.dll

编译环境:VMware,windows10pro x64,Microsoft Visual Studio 2015专业版

(eclipse配置好麻烦,我物理机Visual Studio 2015安装有问题,有啥其他好用点的IDE吗最好是跟Visual Studio 2015一样把编译器集成好的)

qq_追疯者_0
浏览 1569回答 2
2回答

asd8532

你输入之后按回车就新的一行了啊,还要的话printf个\n
打开App,查看更多内容
随时随地看视频慕课网APP