最近在研究<C语言的陷阱与缺陷>,其中说的好有道理!大家都来看下呀!
例:"悬挂"else引发的问题
if(x==0)
if(y==0)error();
else{
z=x+y;
f(&z);
}
这段代码本意是判x的0和1值执行两种动作,x=0和y=0同时成立才调用error()程序;但这段代码和编者的本意相去太远了,else总和最近的if配对,程序就变成了另一种表达了!
if(x==0)
{
if(y==0)error();
else{
z=x+y;
f(&z);}
}
很有意思!这样的失误我想以后记忆会很深刻
我要赚赏金
