程序员们最爱犯的几个愚蠢错误
错误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
关注 程序员之家
微信扫一扫关注公众号