萌新求教!正在学习C,教材是C primer plus,照着教材打了一段代码,提示这个错

0x7A5F6EF2 (ucrtbased.dll)处(位于 test.exe 中)引发的异常: 0xC0000005: 写入位置 0x00C51023 时发生访问冲突。
求教!在输入体重后就报错了

//talkback.c -- 演示与用户交互
#include<stdio.h>
#include<string.h>		//提供strlen()原型
#define density 62.4		//人体密度

int main()

{
	float  weight, volume;

	int size, letters;
	char name[40];		//name是一个可以容纳40个字符的数组

	printf("Hi! What`s your first name?\n");
	scanf("%s", name);
	printf("%s, what is your weight in pounds?\n", name);
	scanf("%f, &weight");
	size = sizeof name;
	letters = strlen(name);
	volume = weight / density;
	printf("Well, %s, your volume is %2.2f cubic feet.\n", name, volume);
	printf("Also, your first name has %d letters,\n", letters);
	printf("and we have %d bytes to store it.\n", size);

	return 0;


}

 

scanf("%f, &weight");

改为

fflush(stdin);

scanf("%f", &weight);

就正常了。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632