e15.c

= と == の間違い?


/*修正前*/ if(a =! 0) { if(a = !0) { /* aにZEROの否定を代入し、その結果が。。。?? */
/*修正例*/ if(a != 0) {
/*修正前*/ if(a = func()) /*まぎらわしい*/ if(a = func() == NG) { /*結合力問題有り*/
/*修正例1*/ a = func() ; if(a) a = func() ; if(a == NG)
/*修正例2*/ if((a = func()) != 0) if((a = func()) == NG)
詳細な説明は、 C-FAQ 17.4J C-FAQ 17.4E を参照して下さい。