程序员们最爱犯的几个愚蠢错误

 

错误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,初学者最易犯的错误



intmain(){...}

硬是写成了

intmian(){...}

编译不通过,自己也硬是折腾了两个小时。

开始,使用的是Code::Blocks,以为是IDE故障;后来,换成Visual Studio,问题依旧。

紧接着,考虑到是不是自己的计算机问题,换成同学的计算机,问题依旧。

我的代码没有逻辑问题呀,很简单。我甚至删除了所有的函数、语句块,只留下一句:

printf("hello world!
");

那时,我真的快哭了!也就是在某个瞬间,发现
main
这个单词写错了。

亲身经历的故事,很愚蠢是吧!可是我依旧很怀恋初学C语言的那段日子。

错误3,忽略编译器警告

忽略编译警告,或者编译警告没有全开。

认真阅读编译器信息,它能解决很多你本来要花很长时间才能找到的问题。

注意,很多经典的情况,编译器都会给警告,完全不需要通过所谓编程规则去限制,例如:

if(p = NULL){}

很多书会推荐人写 NULL == p 这种模式,其实完全没有必要,因为这种错误编译器会检查出来。

pansz-pc:/tmp$gcc -Wall1.c

1.c: Infunction‘main’:

1.c:6:5: warning: suggest parentheses around assignment used astruth value[-Wparentheses]

if(p = NULL){

^

下面来看另外一个例子:

#include

intmain()

{

unsignedchari;

for(i = 0;i


    关注 程序员之家


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册