当前位置: 首页 >> 程序设计 >> 写坏C程序的几大诀窍
 

写坏C程序的几大诀窍

作者:Micro_lee      来源:zz     发表时间:2006-09-22     浏览次数:      字号:    

 写坏C程序的几大诀窍

如果你常常按照下面方式写程序,可以保证你的程序经常出错,你也经常头疼。



1) 根本不管程序的格式,把程序写得老师也看不懂(自己当然更看不懂)。

用格式迷惑自己也是弄坏程序的绝招。例如:

if (a > 0)
    if (x == y) {
        ....
        };
    else {
        ....
    }

请自己分析这到底是什么意思。



2)不关心scanf或者printf中格式串和对应参数类型匹配的问题。例如(假设x, y是double类型,n是int类型)写:
 
printf("%d, %f", x, n);
scanf("%d %f", &x, &y, &n);

这样可以保证输入输出总出现莫名其妙的问题,而且你和别人都找不到原因。

 



3)写scanf时,在接收输入值的变量名之前不写&符号。

这样做常常还可以顺便摧毁你所使用的计算机系统,给自己再多找点麻烦,有自制病毒之妙。

 



4)写注释时随便地忘记几个结束符号。例如:

x = y + 1; /* ha ha ha
z = x * 2; /* fine fine fine */

这样可以保证编译程序“按照你的指示”把你的一段代码吃掉。

 



5)在比较的时候用 = 代替 ==。例如:

if (x = y)
   z = x + 5;

这可以保证x和y一定相同,而是否执行赋值就看你的运气了。

 



6)定义局部变量后,不初始化就使用。例如:

int fun(int n) {
   int m;
   return n + m;
}

如果对指针变量这样做,常可以带来隐秘的破坏效果,让最有经验的人也难找到毛病的根源。例如写:

int fun(int n) {
   int* p;
   *p = n*n;
   return *p + n;
}

这样做有时可以顺便摧毁你用的计算机系统,再给自己多找点麻烦。

 



7)函数定义为有返回值的,但(有时)却不去写return(101-102页)。

这样做可以保证你的程序不时出现古怪行为。

 



8)不关心变量的范围,例如对循环次数很多的变量用 short 类型做循环等。

这样做可以得到不明不白的结果;有时还可以使程序永不停止,直到你用的计算机累死为止。

 



9)用sizeof运算符去计算函数的数组参数的大小,或者计算字符串的大小。

这样做一般可以保证计算结果错误,出现的问题难以预料。

 



10)不写函数原型说明,采用过时原型说明形式(103-107页),或者故意写错误的原型说明。

这样做一般都能骗过编译程序,阻止它帮助你检查程序错误,使你自己麻烦多多。

 



11)定义带参数宏的时候尽量节约括号,省得写起来麻烦。

这样可以保证在使用宏的地方不时地出现隐含错误,就像埋下的地雷,检查源程序也很难发现。

编辑 webmaster

 
 
 
评论更多>>
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •