c语言中‘\n’,众所周知是换行符。而'/n'用到的人就很少了,下面介绍我写项目时发现的问题。
就是灰色区域的问题,这是改好的程序。
一开始这里定义了char select;scanf(“%c”, select);就写了一个scanf结果程序运行的时候直接过去了,表面上没有执行scanf。为什么会出现这个现象呢?
就是这里的y/n出现的问题,/n也是一个字符,被读%c读了,所以程序直接过去了,而不是等你输入。
如何解决这样的问题呢? 如图,就是一种解决方法,用数组。还有就是用while(getchar() != '/n') 进行过滤。
还有一招就是用两个scanf,方法是人想出来的,遇到问题我们不能退缩。
本文探讨了C语言中使用scanf函数的一个常见陷阱:当预期输入单个字符时,如何正确处理遗留的换行符。文章通过实例展示了两种解决方案:一是使用字符数组代替单一字符变量;二是利用while循环结合getchar函数过滤掉多余的'/n'。
5万+





