最終更新日 2025年11月20日
warning: redundant continue statement at the end of loop statement
警告:ループ文の末尾にある冗長なcontinue文
[readability-redundant-control-flow]
■この記事の概要
この記事では、C言語におけるdo-while(0)構文の使用を避ける理由を解説しています。
冗長なcontinue文や制御の複雑さを取り上げ、MISRA-Cルールの変遷に触れながら、早期リターンやgotoクリーンアップの使用を推奨しています。
■問題1:何と表示されるでしょうか?
//clang-tidy "-checks=*"
#include <stdio.h>
int main(void){
int i = 0;
do {
printf("%d\n",i);
i++;
continue;
} while(0);
}何と表示されるか即答できなければ
do-while(0)を使うのは止めましょう。
●解答1
00とだけ表示されます。
■問題2:何と表示されるでしょうか?
#include <stdio.h>
int main(void){
int i = 0;
do {
printf("%d\n",i) ;
i++;
if(i < 10)
continue;
printf("ここに制御は来るか?\n") ;
} while(0);
}即答できてもリーダブルコードを読んで
do-while(0)を使うのは止めましょう。
●解答2
0