我们在编程的过程中有时候代码可能会出现一种问题:我们可能会在scanf中误加/n,在运行的时候无论我们如何按回车,都不出现运行结果,就像代码卡死了一样;那么这个问题是为什么呢?
经过查阅资料发现:
scanf(“%d”)是读数据直到遇到空白符(空白符:指空格符、制表符、回车符)就停止读取的函数,也就是说当我们在键盘上输入回车键,scanf函数就运行完毕了;
而在scanf (“%d\n”)中的\n不代表换行符,而是代表读取并放弃连续的空白符,当我们一直输入空白符是scanf语句一直不会运行结束,直到遇到非(空格符、制表符、回车符),运行才结束
总结
我们在编程是要着重区别printf("%d\n")和 scanf("%d\n")中\n的区别
前者是换行符;后者还是读取空白符并丢弃;