程序员常犯的8大愚蠢错误
“吃大写的亏,上小写的当,检拼写的错,查空格的误”听说这是程序员最常踩的坑,你踩了几个?
每日一题
千言万语(打一字)
关注公众号“求职秀”回复 0407获取答案
1
一个空格引发的血案
@@ -348,7 +348,7 @@ case "$DISTRO" in一个空格引发的血案
- rm -rf /usr /lib/nvidia-current/xorg/xorg
+ rm -rf /usr/lib/nvidia-current/xorg/xorg
确实没有比这个更愚蠢更严重的错误了,小伙伴们自己感受下!
2
初学者最易犯的错误
把初学者最易犯的错误
int main() {...}
硬是写成了
int mian() {...}
编译不通过,自己也硬是折腾了两个小时。
开始,使用的是Code::Blocks,以为是IDE故障;
后来,换成Visual Studio,问题依旧。
紧接着,考虑到是不是自己的计算机问题,换成同学的计算机,问题依旧。
我的代码没有逻辑问题呀,很简单。
我甚至删除了所有的函数、语句块,只留下一句:printf("hello world!
");
3
忽略编译器警告
忽略编译警告,或者编译警告没有全开。忽略编译器警告
认真阅读编译器信息,它能解决很多你本来要花很长时间才能找到的问题。
注意,很多经典的情况,编译器都会给警告,完全不需要通过所谓编程规则去限制,例:
if ( p = NULL ) {}
很多书会推荐人写 NULL == p 这种模式,其实完全没有必要,因为这种错误编译器会检查出来。
pansz-pc:/tmp$ gcc -Wall 1.c
1.c: In function ‘main’:
1.c:6:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if ( p = NULL ) {
^
下面来看另外一个例子:
#include
int main()
{
unsigned char i;
for (i = 0; i
关注 微文阅读推荐
微信扫一扫关注公众号