最近scanf()这个函数真的是困扰了我好久。近期许多程序的疑难杂症都是关于scanf,而且bug藏得很深,编译器也不报错,只能自己硬找。实在令人秃头。但不过错误过后,还是要总结错误的。下面就是初学者关于scanf常见的错误。
1,scanf("%d %d %d", &a, &b, &c); 例如这个语句%d与%d之间不应该加空格,因为函数本身已经帮你加了空格。输入时需要打一个字空一格,然后再打下一。eg:2 3 1
2,scanf("%d\n", &a); 打惯了printf("%d\n");情不自禁地就将\n打了上去,这也是经常会犯的小错误。
3,scanf("%d", a); 忘记&取地址,感觉这是我必错的一个错误,但每次反省又觉得非常不应该。
我觉得这些错误都是可以避免的,只要我们把这些错误牢记于心,在实际写代码的时候留个心眼儿,终究是可以征服scanf的。