if文で記述ミスを減らすテクニック

c言語において、if文で記述ミスを減らすテクニックについて解説します。

 

・if文とは?

 

以下のような記述をif文と言います。

 

判定をするために使用します。

 

if( a == 1 ){
処理1;
}

上記のif文では変数aが1のとき、処理1を実行します。

 

・if文での記述ミス 以下のような記述ミスをすることがあります。

 

イコールがひとつ足りないというものです。

 

if( a = 1 ){

処理1;
}

このとき以下のように処理されます。

 

1 )aに1を代入。

 

2 )aに1を代入する処理に成功した場合、処理1を実行。

 

このソースコードコンパイルしてもエラーが発生せず、また前述の通り判定がうまく機能しません。

 

・記述ミスを減らすテクニック 以下のような記述にします。
if( 1 == a ){
処理1;
}
1とaの順序を入れ替えています。1とaを比較するため、この記述でも正常に判定されます。

 

では、以下のような記述ミスをした場合はどうなるでしょうか?

if( 1 = a ){
処理1;
}

この場合はコンパイルエラーが発生します。理由は、1にaは代入できないためです。

 

このようにソースコードの記述を工夫すると、ミスに気付きやすくすることができます。

 

ミスを減らそう。