C语言中的除0操作

c语言中的除0操作

1.整型数

int  fenzi = 10;
int  fenm = 0;
int  jieguo = 0;
jieguo = fenzi / fenm;
printf("jieguo = %d" , jieguo);

结果就是程序在编译时直接报错,说发生了整型数除0操作
在这里插入图片描述

2.浮点型除0操作

float  fenzi = 10;
float  fenm = 0;
float  jieguo = 0;
jieguo = fenzi / fenm;
printf("jieguo = %f" , jieguo);

结果就是程序可能正常编译但是运行结果
在这里插入图片描述
这里的1.#INF00是一个特殊的符号吧
1.#INF00表示这是一个无穷大的正数,这个数超出了计算机可以表示的范围了,同 inf,同理
-1.INF00表示这是一个无穷大的负数,这个数的绝对值超出了计算机的表示范围,同 -inf。
还有一个符号表示这个结果不是个数,例如 sqrt(-1), 对负数开平方,对负数取对数,0.0/0.0,0.0*∞, ∞/∞ 等,这个结果用 1.#IND00或者 NaN表示

3.C 语言中的 算术运算符 \

当 \ 用作算术运算符时表示除法,如果除数和被除数都是整型,那么运算结果也是一个整数,余下的作为余数,例如

int a = 99,b = 17,c = 0,d = 0;
c = a \ b;
d = a % b;

那么结果就是

c = 5;
d = 14;
int a = 17,b = 99,c = 0,d = 0;
c = a \ b;
d = a % b;

那么结果就是

c = 0;
d = 17;

但是当除数或者被除数中有一个为浮点型的时候,会发生隐式类型转换,计算将按照实际的带小数计算

int a = 99;
float b = 17,c = 0;
c = a \ b;

那么结果就是

c = 5.82352;
float a = 17;
int b = 99,c = 0;
c = a \ b;

那么结果就是

c = 0.171717;

取余运算符 % 双目必须是整型。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值