被零除
int x = 0;
int y = 5 / x; /* integer division */
要么
double x = 0.0;
double y = 5.0 / x; /* floating point division */
要么
int x = 0;
int y = 5 % x; /* modulo operation */
对于每个示例中的第二行,其中第二个操作数(x)的值为零,行为未定义。
注意,浮点数学的大多数实现将遵循标准 (例如 IEEE 754),在这种情况下,除零操作将具有一致的结果(例如,INFINITY
),即使 C 标准表明操作未定义。