语法错误 char a[100]; scanf_s(“%s”,a); 一直不知道问题所在,求助

\users\pc\source\repos\consoleapplication6\consoleapplication6\consoleapplication6.cpp(47): warning C4473: “scanf_s”: 没有为格式字符串传递足够的参数
1>c:\users\pc\source\repos\consoleapplication6\consoleapplication6\consoleapplication6.cpp(47): note: 占位符和其参数预计 2 可变参数,但提供的却是 1 参数
1>c:\users\pc\source\repos\consoleapplication6\consoleapplication6\consoleapplication6.cpp(47): note: 缺失的可变参数 2 为格式字符串“%s”所需
1>c:\users\pc\source\repos\consoleapplication6\consoleapplication6\consoleapplication6.cpp(47): note: 此参数用作缓冲区大小

这个错误信息说的很明确呀,你的scanf_s的调用还缺少一个参数(没有传递足够的参数)。scanf_s是scanf的安全版本,需要第三个表示数组长度的参数,所以正确的调用应该是:
scanf_s("%s", a, 100);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-25
scanf_s在读入字符串时需要提供缓冲区长度,a后应该还有一个参数表示a的长度。
第2个回答  2018-02-25
我猜是引号格式不对
相似回答