C语言:若有函数关系:当x!=0,y=1⼀x;x=0,y=1e20,为什么以下表达不正确

2025-04-13 18:15:35
推荐回答(3个)
回答1:

最正确的写法应该是
if(!x)y=1e20;
else y=1.0/x;
如果去掉else是不可以的
不用else的话 可以写成
y=1e20;
if(x)y=1.0/x;

其实要做到的目的只有一个 就是避免出现除以0的情况
如果x为0 还做1.0/x的话 系统就会出错了

回答2:

因为你这是先进行的运算,后进行的判断。而该函数关系,必须在运算前先进行x非零的判断,否则x=0时会出现异常,无法执行下一步

回答3:

下面的x可能为0