如果你常常按照下面方式写程序,可以保证你的程序经常出错,你也经常头疼。
用格式迷惑自己也是弄坏程序的绝招。例如:
if (a > 0)
if (x == y) {
....
};
else {
....
}
请自己分析这到底是什么意思。
printf("%d, %f", x, n); |
scanf("%d %f", &x, &y, &n); |
这样可以保证输入输出总出现莫名其妙的问题,而且你和别人都找不到原因。
这样做常常还可以顺便摧毁你所使用的计算机系统,给自己再多找点麻烦,有自制病毒之妙。
x = y + 1; /* ha ha ha
z = x * 2; /* fine fine fine */
这样可以保证编译程序“按照你的指示”把你的一段代码吃掉。
if (x = y)
z = x + 5;
这可以保证x和y一定相同,而是否执行赋值就看你的运气了。
int fun(int n) {
int m;
return n + m;
}
如果对指针变量这样做,常可以带来隐秘的破坏效果,让最有经验的人也难找到毛病的根源。例如写:
int fun(int n) {
int* p;
*p = n*n;
return *p + n;
}
这样做有时可以顺便摧毁你用的计算机系统,再给自己多找点麻烦。
这样做可以保证你的程序不时出现古怪行为。
这样做可以得到不明不白的结果;有时还可以使程序永不停止,直到你用的计算机累死为止。
这样做一般可以保证计算结果错误,出现的问题难以预料。
这样做一般都能骗过编译程序,阻止它帮助你检查程序错误,使你自己麻烦多多。
这样可以保证在使用宏的地方不时地出现隐含错误,就像埋下的地雷,检查源程序也很难发现。