最好能说的通俗点,本人是小白,跪求大神给解释原因!已经上图,用的是VS2019版,就算把\n去掉也一直提示警告1>C:\Users\lifu\source\repos\2\源.c(8): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\stdio.h(1274): note: 参见“scanf”的声明
\n就结束输入了,scanf函数的第一个参数是都要输入的,你这个"%d\n",就需要先输入一个整数,再输入一个"\",再输入一个"n",再回车,所以一直阻塞在这,随便搜的一个博客,看看应该就理解了
追问是不是意思是,本来给计算机的编译是这里只用填一个数字,而我加了一个\n,计算机收到的编译是要填两个数字,所以我随便输入一个数,计算机还要等我在输入一个数才开始计算输出答案,是这个意思吗?
追答我想是需要三个吧,一个数,一个'\',一个'n'
追问我试了输两次数,三次回车
为什么不能用换行符啊,大神讲详细点😳
追答输入控制串"%d\n"是强制要求输入一个整数和一个回车后再以回车结束,全部输入过程要需要三步,有用吗?
追问是不是意思是,本来给计算机的编译是这里只用填一个数字,而我加了一个\n,计算机收到的编译是要填两个数字,所以我随便输入一个数,计算机还要等我在输入一个数才开始计算输出答案,是这个意思吗?
追答你输入一个整数和一个回车后,只是完成了输入控制串要求输入的内容,scanf_s或scanf还需要以回车结束,程序一直在等待你再多输入一个回车。。。还不明白的话,运行起来试试不就得了?
追问我试了要输入两次,输入一个数字回车,在输入一个数字,在回车,然后在点一次回车才结束
是三次
追答输入一个整数再连续输入两个回车就结束了啊!你输入这么多整数干嘛?
追问知道了谢谢
本回答被提问者采纳