Visual Studio C / C ++ ucrtbased.dll访问冲突写入位置

时间:2015-10-29 08:32:22

标签: c char visual-studio-2015

我正在使用Visual Studio Enterprise 2015,我一直收到此错误:

Exception thrown at 0x00007FF8E19979A3 (ucrtbased.dll) in Assignment 1C.exe: 0xC0000005: Access violation writing location 0x0000008836510000.

...每当我使用char / string输入时,就这个简单的程序而言:

#include <stdio.h>
#include <string.h>

int main() {
    char name[40], chk;

    printf("What is your name?");
    scanf_s("%s", name);
    chk = getchar();
    return 0;
}

仍然给我同样的错误。我不知道是什么导致它虽然我怀疑它是我正在使用的库或实际编译器的东西?打开建议。

1 个答案:

答案 0 :(得分:0)

参数的scanf_s()是错误的。

scanf_s(&#34;%s&#34;,name,40); 要么 scanf_s(&#34;%s&#34;,name,_countof(name));

另见: https://msdn.microsoft.com/en-us/library/w40768et.aspx