C 扫描不保存字符串的值

C 扫描不保存字符串的值,c,visual-studio-2013,C,Visual Studio 2013,我的C程序有问题。 以下是我的main()代码: 问题是,当我编译代码并输入汽车名称时,它不会出现在以后的printf中。。。 有人能帮我吗 错误图像:尝试使用 scanf_s("%s", name, _countof(name)); scanf_s是scanf的安全版本,需要输入缓冲区大小的参数 请看这里,这个 scanf_s("%s", name); 应该是: scanf_s("%s", name, sizeof(name)); /* Assumes char name[42 or su

我的C程序有问题。 以下是我的main()代码:

问题是,当我编译代码并输入汽车名称时,它不会出现在以后的printf中。。。 有人能帮我吗

错误图像:

尝试使用

scanf_s("%s", name, _countof(name));
scanf_s是scanf的安全版本,需要输入缓冲区大小的参数

请看这里,

这个

scanf_s("%s", name);
应该是:

scanf_s("%s", name, sizeof(name)); /* Assumes char name[42 or such]. */
:

scanfwscanf不同,scanfwscanf要求为css[]中包含的字符串控制集类型的所有输入参数指定缓冲区大小。缓冲区大小(以字符为单位)作为附加参数传递,紧跟在指向缓冲区或变量的指针之后


一定是这样

int main(void)

bt.< /p>与您的问题无关,但您应该使用<代码> GETCHARE()/<代码>代替系统(“暂停”),它更便于移植。也可以是编译器相关的。如果是C程序,不要自动交叉标记C++(反之亦然)。语言是不同的和独特的。这是一个大学的练习,这里我们使用VisualStudioExpress C++编程C语言,我不能做任何事情,因为代码< Snffys已经是非标准的,这可以通过使用<代码>(Name)来减少错误。我最初的回答只是解释他对API的使用是不正确的,他必须添加一些版本的缓冲区大小定义作为参数。注意:
scanf_s()
在C规范的规范部分中。
\u countof()
没有。
int main(void)