C primer plus中有关scanf函数的运行总是报错,复制源代码也不行,请问该怎么办?

// talkback.c -- 演示与用户交互
#include
#include // 提供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's 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;
}

文件头部添加下面一行试试
#define _CRT_SECURE_NO_WARNINGS

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^