C言語プログラミングのヒント

rhtml Version5.1 Aug 20 1999
rsort.r	  Aug 20 19:57:21 1999

Copyright(c)
Unpublished Copyright(c) NEC Communication System Ltd. 1998

Review-Cのホームページへ

リンク集
################################################################## 保守が困難と思われるファイル(pointが高いファイル程危険です) ################################################################## No 1 controlFlow.c 12件/ 60Line : point=8.833333 No 2 operators.c 11件/ 56Line : point=7.666667 No 3 dangerChar.c 6件/ 59Line : point=5.000000 No 4 slowChar.c 2件/ 60Line : point=1.500000 No 5 macro.c 2件/ 60Line : point=1.500000 No 6 REC.R5.1.c 1件/ 32Line : point=1.000000
ファイル名:行番号: 通番/総件数: ランク:エラー番号 説明 operators.c:19: 警告01/01: A:e3: BUGです。配列の添字> 9: 10では大き過ぎます:buf[10] = 0 ; controlFlow.c:17: 警告01/01: A:e5: BUGです。switch文内、case外のコードには制御が来ません:case 1:↓ printf("break忘れてます¥n") ; operators.c:22: 警告01/01: A:e16: BUGです。==では無意味です:ret == 0 ; operators.c:36: 警告01/01: A:e37: BUGです。『x&2==2』は『x&(2==2)』となり『(x&2)==2』とは別です:& 2 == 2) { controlFlow.c:23: 警告01/01: A:e56: BUGです。このcase 128:には来ません:case 0x80: ; ↓ } controlFlow.c:32: 警告01/01: A:e82: BUGです。for(;常時真;)のため無限loopの危険があります:for(j = 10 ; j >= 0 ; j--) dangerChar.c:37: 警告01/01: A:e83: BUGです。if(常時偽):ret = ERR ; ↓ if(ret== ERR) controlFlow.c:28: 警告01/01: A:e175: BUGです。for文の条件部はカンマではなく、恐らく&&のはず:for(i = 0 ; 5<i,i<10 ; i++ ) { operators.c:23: 警告01/02: A:e15: BUGです。if(変数=定数):if(ret = 0) { controlFlow.c:14: 警告01/03: A:e2: BUG?,初期設定前のゴミ値使用してませんか C-FAQ 1.30: i: i operators.c:20: 警告02/03: A:e2: BUG?,初期設定前のゴミ値使用してませんか C-FAQ 1.30: i: i operators.c:21: 警告03/03: A:e2: BUG?,初期設定前のゴミ値使用してませんか C-FAQ 1.30: ret: ret controlFlow.c:20: 警告01/03: A:e12: BUGです。defaultの書き間違『deault』か未使用ラベル:defalut :↓ deault : controlFlow.c:19: 警告02/03: A:e12: BUGです。defaultの書き間違『defalut』か未使用ラベル:defalut :↓ deault : controlFlow.c:21: 警告03/03: A:e12: BUGです。defaultの書き間違『defualt』か未使用ラベル:defualt :↓ printf("スペルミス¥n") ; 警告 : A:e21: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず: operators.c:10: 警告01/01: A:e25: 未使用引数を削除するか、【dmy】に名前変更出来ませんか。operators(argv){}:operators.c 警告 : A:e25: 関数呼出時の引数の数異常: operators: controlFlow.c:16: 警告01/01: A:e33: 制御が来ません:case 問題修正: */↓ printf("問題修正の残骸 ↑これ ¥n") ; operators.c:48: 警告01/01: A:e39: 『a |= 0』『a += 0』では意味がありません:|= bit0 ; macro.c:47: 警告01/01: A:e58: 『2==val&2』は『(2==val)&2』となり『2==(val&2)』とは別です:if(val != BADMAC4) { 警告 : A:e58: 『x|y==z』は『x|(y==z)』となり『(x|y)==z』とは別です: slowChar.c:17: 警告01/01: A:e161: 配列【charは遅く128以上参照不能】 を 配列【intで宣言した変数】にできませんか:[counter] dangerChar.c:32: 警告01/01: A:e173: unsigned typeでも大き過ぎる整数なので入り切りません:= 256 ; 警告 : A:e173: 256?。桁溢れでZEROになってしまいますよ。: 警告 : A:e173: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず: dangerChar.c:18: 警告01/01: A:e179: 暗黙の定数変換でoverflowが発生しました:c2 = 256 ; ↓ 警告 : A:e179: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず: REC.R5.1.c:23: 警告01/01: A:e303: 関数呼出時の引数の数異常:operators operators.c:32: 警告01/02: A:e15: 『a=b==c』は『a=(b==c)』となり『(a=b)==c』とはaの値が違う:if(ret = hundred() != NG) { macro.c:39: 警告01/02: A:e28: printfに対し、<stdio.h>をincludeして下さい C-FAQ 15.1.: slowChar.c:58: 警告02/02: A:e28: memset に対し#include <string.h>を使用するとコンパイラが引数ミスを防止してくれます。: controlFlow.c:13: 警告01/02: A:e40: 正常時のみ考慮された、【遅くて符号拡張の危険があるchar】変数: i。C-FAQ1.1: controlFlow.c operators.c:12: 警告02/02: A:e40: 正常時のみ考慮された変数。異常時処理は大丈夫?: i: operators.c dangerChar.c:45: 警告01/02: A:e42: if文中に常に真となる条件があります:if((0 <= u1 && u1 <= 255) || dangerChar.c:46: 警告02/02: A:e42: if文中に常に真となる条件があります:if((0 <= u1 && u1 <= 255) ||↓ (0 <= u2 && u2 <= 255)) { operators.c:9: 警告01/02: A:e309: 短すぎる外部変数、static化、長名化できませんか? s:} s ; dangerChar.c:17: 警告01/03: B:e11: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず:uc = -1 ; ↓ c1 = 0xFF ; dangerChar.c:16: 警告02/03: B:e11: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず:uc = -1 ; ↓ c1 = 0xFF ; dangerChar.c:36: 警告03/03: B:e11: unsigned ucharV=-1の様な記述有り,if(ucharV==-1)は成り立たず:ret = ERR ; ↓ if(ret== ERR) { controlFlow.c:59: 警告01/03: B:e35: 『return->return(X)』又は『int 関数名->void 関数名』: controlFlow: controlFlow.c:7: 警告02/03: B:e35: 『int/void』と『必要ならstatic』を関数定義に追加して下さい: macro.c:60: 警告03/03: B:e35: 返却値有り関数の末尾『}』に制御が来ました: macroPanic: 警告 : B:e35: return文がありません : macroPanic: null:0: 警告01/01: C:e310: 関数返却値を常時無視:puts: slowChar.c:42: 警告01/02: C:e309: staticに出来ませんか。K&R2 1.10: buf:char buf[64] ;

Review-Cのホームページへ