int main(){ char a[5],b[5];scanf_s("%s %s",a,5,b,5);printf("%s %s",a,b);输入字符串时要加上字符串的长度 原型为scanf_s("%s",a,length);length 为字符串长度。
你的代码写的是str,2. 此时只能输入1个字符。你输入了"as"2个字符,已经把str,2撑爆了。你的scanf_s的运行结果,返回值一定是0,扫描失败了!!扫描失败了str里面就是随机值,[0]一般是0,你打印的话就什么都没有显示了。你如果想输入as,那个scanf_s的参数必须是至少3,才对,scanf_s返回值...
带“_s”后缀是为了让原版函数更安全:scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节,而scanf_s是visual studio中加入的完善版函数,可防止这类引用到不存在的元素的情况发生。而你的代码是在vs中编译的,找不到vs下的函数,所以用不了。
带“_s”后缀是为了让原版函数更安全:scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节,而scanf_s是visual studio中加入的完善版函数,可防止这类引用到不存在的元素的情况发生。而你的代码是在VS中编译的,找不到vS下的函数,所以用不了。
C语言中scanf是标准库函数,主要用来接收用户输入的数据。C标准函数库是所有符合标准的头文件的集合,以及常用的函数库实现程序,例如I/O输入输出和字符串控制。不像这三种COBOL、Fortran和PL/I等编程语言,在C语言的工作任务 C语言中scanf是标准库函数,主要用来接收用户输入的数据。scanf与printf函数一样,都被定义在头...
VS2015中为什么使用scanf_s %s输入字符串后printf()不能打印 如图所示 1、根据查询微软官网得知,首先,打开vsstudio后,点击“新建项目”按钮,选择“C加加空项目”,并设定项目的名称和路径。然后,点击“确定”按钮。 2、其次,在解决方案资源管理器中,右键单击项目名称,选择“C加加文件”, ...
vs2015无法编译通过含有scanf函数的c语言程序 输入字符串时要加上字符串的长度 原型为scanf_s("%s",a,length);length 为字符串长度。 因为scanf_s()用于读取字符或字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。所以scanf_s("%c",&zm);应该改成scanf_s("%c",&zm,1); ...