スマートフォン用の表示で見る

剰余演算子

コンピュータ

剰余演算子

じょうよえんざんし

プログラム言語Cにおける%(剰余演算子,remainder operator)

制約 %演算子オペランドは,整数型をもたなければならない。

意味規則 通常の算術型変換をオペランドに適用する。

(snip) %演算子の結果は剰余とする。(snip) 第2オペランドの値が0の場合,その動作は未定義とする。

JISX3010:2003 6.5.5 乗除演算子

*乗算演算子?や/除算演算子?は算術型のオペランドに適用できるが,%演算子整数型にしか適用できない。もし浮動小数型の剰余を求めたいならばfmod, fmodf, fmodlを使うことができる。

未定義動作を引き起こさないために,第2オペランドが0ではないことを保証する必要がある。

サンプルコード

#include <stdio.h>
int main(void){
	int operand1, operand2;
	if (scanf("%d%d", &operand1, &operand2) != 2){
		return 1;
	}
	if (operand2){
		printf("%d %% %d = %d\n", operand1, operand2, operand1%operand2);
	}
}

サンプル入力

98765 43210

サンプル出力

98765 % 43210 = 12345