MISRA C
C言語規格では、ソフトウェアをCPUやオペレーティングシステム (OS) の種類にかかわらず移植できるようにするために、言語規格ではあえて厳密に仕様を定めず、処理系定義 (implementation-defined)、未定義 (undefined)、未規定 (unspecified) の動作 (behavior) など、CPU/OSおよびコンパイラごとに取り決めをする事項があり、他の言語と比べると非常に多い。たとえば代表的なものとして組み込み整数型のサイズの規定や、関数引数の評価順序などが含まれる。そのため、移植性を考慮せずにプログラムを記述した場合、あるCPU/OS向けのC言語プログラムが、他のCPU/OSでは異なる結果を出すことがしばしばある。「The C Puzzle Book」 (Cパズルブック) 、「C Traps and Pitfalls」 (Cプログラミングの落とし穴) というベル研究所 (Bell研) の著者が書いた本に掲載のプログラムを実行してみるとよくわかる。