赞
踩
这里我用的是vs2022。建议大家多实践,多自己动手发现问题。
这里我用这八种输入方式进行演示。
这是第一种输出方式,b没有正确输入是因为scanf里我们使用空格隔开,这里我们却使用了逗号隔开。当他遇到逗号的时候,b,x和y都无法识别,便不能正常输出。这时候,当 c1去识别它时,发现可以,所以输出了一个逗号,因为逗号也属于字符。接着便是c2识别逗号后边的b了
这是第二个输入方式,这里我们可以看到b输出了,但是在scanf里的float类型,我们直接用的%f,而不是x=%f,所以x=就显得多余了,所以x,y便无法识别。接着换c1去识别,发现了x,输出x,后面是等于号,便输出=。
这是第三个输入方式,我们可以看到a,b,x,y都是正常输出的,接着到c1去识别,遇到了空格,所以输出了空格,c2继续进行,遇到了A,所以输出了A。
这是第四种输入方式,经过一步步的改正,终于全部达到预想的结果了。可以看到,这个改进和第三种相比,区别便是把71.82这个小数后边的空格删去了,所以输出的是A,和我们上边所说的吻合。
这是第五种输入方式,和第一种输入方式犯的错误一样,都是输入时加了不该加的东西。
这是第六种输入方式,从这种方式我们可以看出,在输入正确时按回车后,会等待着识别下一个输入的东西,不会全部结束。
这是第七种输入方式,与第六种的区别是输入了A和a,但是结果仍然和第六种一样,更加说明在c2识别A之前,已经识别了其他东西了。至于是什么东西,我们接着往下看。
这是第八种输入方式,这里我们可以看到,全部按我们想象中正确的输出结果输出了。同上,在float类型的y识别完71.82之后会立刻去识别后边的东西,如果是空格便输出空格,是逗号便输出逗号,如果是回车便输入回车,这里是A,所以输出A,紧接着c2识别a。
这也解释了为什么第六种输入方式和第七种输入方式,c1输出的不是我们想要的结果,因为c1识别了71.82后边的那个我们按的回车键,这也解释了为什么最终结果里c1和c2不在同一行。
大家可以仔细观察
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。