带“_s”后缀是为了让原版函数更安全:scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节,而scanf_s是visual studio中加入的完善版函数,可防止这类引用到不存在的元素的情况发生。而你的代码是在VS中编译的,找不到vS下的函数,所以用不了。
编程中通常不推荐使用scanf()函数的原因有三个:1、安全性问题;2、错误处理困难;3、输入数据的可移植性差。其中安全性问题尤其值得关注。函数scanf()在接受用户输入时,若不小心控制格式字符串或输入数据的大小,很容易造成缓冲区溢出,这在C语言中是导致安全漏洞的一个常见因素。例如,在使用scanf()读取字符串时,如果...
因为一旦程序离开了当前的作用域或者生存周期,通常会将变量压入栈中或者抛弃,这时编译器无法访问。
请看正确答案:你的代码写的是str,2. 此时只能输入1个字符。你输入了"as"2个字符,已经把str,2撑爆了。你的scanf_s的运行结果,返回值一定是0,扫描失败了!!扫描失败了str里面就是随机值,[0]一般是0,你打印的话就什么都没有显示了。你如果想输入as,那个scanf_s的参数必须是至少3,才对...
不含空格的字符串的输入可以用scanf("%s",s)进行输入;含有有空格的字符串建议使用gets(s)进行输入。 提问者评价 谢谢! 评论| 听不清啊 |十四级采纳率70% 擅长:其他编程语言VB物理学家电硬件其他类似问题2009-01-06 用scanf输入字符串空格不识别?? 21 2011-01-14 如果用scanf怎么将带空格的字符串输入到...
为什么scanf_s不能用 国超 唐 0 信誉分 2024年11月2日 14:09 Windows 10 Windows 10 在个人计算机和平板电脑上运行的 Microsoft 操作系统。 145 个问题 登录以关注 0 个注释 无注释 报告问题 我有相同的问题 0 {count} 票 登录以评论 登录以回答 问题...
A、p是指针变量,在未获得值之前不能使用,scanf("%d",p); 无意义。 B、s是指针变量,在未获得值之前不能使用,此时使用*s无意义。 C、定义与使用均没问题 D、 指针变量s和指针变量p基类型不同, s=p无意义 点击查看答案进入小程序搜题 你可能喜欢 对平面任意力系,总可以用一个力和一个力偶来平衡 A、...
用scanf函数输入多个字符串型数据时,不能用“%c”格式声明,应当用多个连续的“%s”格式声明。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学
0.1s 后来查了一下输入要用scanf不能用cin查看原帖点赞 评论 相关推荐 01-16 19:35 已编辑 美团_测试开发工程师 服务端性能测试 说到服务端性能测试就不得不提到上述流程图,言简意赅的概括了性能测试中所需要做到的内容。上面是比较全的指标。但实际工作中的每一次性能测试可能都有一定的侧重点,比如在trace...
所有变量都有生存周期和作用域,变量的监视只能在生存周期和作用域内查看,因为一旦程序离开了当前的作用域或者生存周期,通常会将变量压入栈中或者抛弃,这时编译器无法访问。如果你想在一个更大的域访问一个指定变量,可以把它先申请成全局变量,等到调试无误结束后再把它恢复到局部变量中。通常做法是将局部变量映射...