这是我的代码:
main()
{
char firstName[30], lastName[30];
printf("What is your name? ");
scanf_s("%s %s", firstName, lastName);
printf("Your name is %s %s\n", firstName, lastName);
}
我尝试使用 scanf 但 VS 说它已被弃用并推荐使用 scanf_s。我知道你在变量之前使用 &/pointer 除非它是一个 string/char[] (这本来就是)而且我真的不知道错误是什么。也许是方法参数?任何帮助表示赞赏。
最佳答案
MS 有用“安全”版本替换标准 C 函数的习惯,scanf_s 就是这样一种实现。文档在这里:http://msdn.microsoft.com/en-us/library/w40768et.aspx
我相信如果您进行此更改,错误将会消失:
scanf_s("%s %s", firstName, _countof(firstName), lastName, _countof(lastName));
我也相信有一种方法可以解决他们对语言的破坏,但正是出于这个原因,我多年前就停止使用 MSVC。
关于C访问冲突写入位置scanf_s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23227326/