在学校里,学习C语言有一段时间了,有一天我看到我同学发出来的代码,一看,居然是有关求最大公因数和最小公倍数的,然后就模仿着去敲一敲,后面运行的时候,哎哟,出问题了
不是说输入两个数吗?为什么我要输入3个数,才能得到别人输入两个数得出的答案???为此我想了很久,后来问这个同学他的代码是否有错,直到他把代码以正确的形式运行出来,我打消了这个念头,后来呢,我把我的源码发给他,他看了一会,直接告诉我说:“你把scanf里面的\n去掉应该就可以了”;我照做,然后运行代码一看,我惊掉了我的下巴
我惊叹地对他说:“牛啊兄弟”;(困扰我一天的代码问题也解决了)
后来我搜了一下,在scanf中随意使用换行符,那么会在命令进行输入时要输入两次
原因:在scanf中随意使用\n,表示忽略一切空白符直至下一个非空白符出现。
我发现学习要勇于承认自己的无知,多问,多讨论,众人拾柴火焰高,自己埋头苦干的话无非事倍功半,加油,小菜鸟!