#0x00007FF9C2D00FD5 (ucrtbased.dll)处(位于 hye.exe 中)引发的异常: 0xC0000005: 写入位置 0x000000D570100000 时发生访问冲突。 调试显示上文。
初学者看不太懂 麻烦老哥们指点一下
#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()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。