带“_s”后缀是为了让原版函数更安全:scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节,而scanf_s是visual studio中加入的完善版函数,可防止这类引用到不存在的元素的情况发生。而你的代码是在VS中编译的,找不到vS下的函数,所以用不了。
请看正确答案:你的代码写的是str,2. 此时只能输入1个字符。你输入了"as"2个字符,已经把str,2撑爆了。你的scanf_s的运行结果,返回值一定是0,扫描失败了!!扫描失败了str里面就是随机值,[0]一般是0,你打印的话就什么都没有显示了。你如果想输入as,那个scanf_s的参数必须是至少3,才对...
scanf对VS2015是非安全函数,它用scanf_s替代了 要用它也是可以的 两个方案.1.在新建项目时,下一步中有个"生命开发周期(SDL)检查"前面的勾去掉 2.如果已存在的项目 1)右击工程 - 属性 - 配置属性 - C/C++-常规-S VS的SDL选项是编译器在源代码层次尽最大可能减少安全漏洞的数量和严重性,比如scanf这样的...
所以scanf_s("%c",&zm);应该改成scanf_s("%c",&zm,1); scanf中的格式字符串写错了,你写的那两个根本不是scanf的格式字符串,格式字符串告诉程序输入的内容,如果不写格式字符串,程序就无法从键盘得到值,有如下几种:d:有符号十进制整型:如 int ,short;c: 单个字符:如cha 你的代码写的是str,2. 此时...