VS2015中为什么使用scanf_s %s输入字符串后printf()不能打印 如图所示

2024-11-08 02:44:43
有3个网友回答
网友(1):

请看正确答案:
你的代码写的是str,2. 此时只能输入1个字符。你输入了"as"2个字符,已经把str,2撑爆了。你的scanf_s的运行结果,返回值一定是0,扫描失败了!!扫描失败了str里面就是随机值,[0]一般是0,你打印的话就什么都没有显示了。

你如果想输入as,那个scanf_s的参数必须是至少3,才对,scanf_s返回值才可能是1。
总之代码一定要检查函数返回值,来保证逻辑可靠!

网友(2):

scanf_s不是标准函数,再调用之前要包含一个宏定义,#define _CRT_SECURE_NO_WARNINGS,

网友(3):

scanf_s("%s", str, sizeof(str)); 试试看