0x00007FF9C2D00FD5(ucrtbased.dll)处(位于hye.exe中)引发的异常:0xC0000005:写入位置0x000000D570100000时发生访问冲突,如何解决?

#0x00007FF9C2D00FD5 (ucrtbased.dll)处(位于 hye.exe 中)引发的异常: 0xC0000005: 写入位置 0x000000D570100000 时发生访问冲突。 调试显示上文。

img

img

初学者看不太懂 麻烦老哥们指点一下
#include
#define PRAISE "You are an extraodinary being"
int main(void)
{
char name[40];

printf("whats ur name?");
scanf_s("%s",name);
getchar();
printf("%s,%s\n",name,PRAISE);
return 0;

}

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

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

因为宏定义不是地址,而printf里逗号后面必须是地址,就像你的name一样就是一个数组的首地址。
而你的宏并不是地址,所以报错。

问题在于没弄清scanf和scanf_s的区别 谢谢评论区朋友的回答
scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。