在visual C++6.0中执行成功,在vs2022中调试执行一半无法继续
//第19个程序--演示与用户交互--P175页
#include <stdio.h>
#include<string.h> //提供strlen()函数的原型
#define DENSITY 62.4 // 人体密度(单位:磅/立方英尺
int main(void)
{
float weight, volume;
int size, letters;
char name[40]; //name是一个可容纳40个字符的数组
printf("Hi!What's your first name?\n");
scanf("%s", name); //vs2022中“scanf”必须改写成“scanf_s”才能够执行,这也是我的疑问之一,求解答
printf("%s,what's your weight in pounds?\n", name);
scanf("%f", &weight); ////vs2022中“scanf”必须改写成“scanf_s”才能够执行,这也是我的疑问之一,求解答
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;
}
visual C++6.0环境执行结果正确:
vs2022环境执行到一半显示:未处理的异常