2 claysystem claysystem 于 2015.05.27 06:44 提问

C语言中莫名其妙的问题

![图片说明](http://img.ask.csdn.net/upload/201505/27/1432680211_964015.jpg)图片说明
这段代码是书里面的,书里面z=x/y 是一个无效语句,因为0是不可以做分母的,然后我试了一下 程序运行的时候就出现”无响应“请问这是为什么呢?

13个回答

a1193561652
a1193561652   Rxr 2015.05.27 12:51
已采纳

分母不得为0,除法溢出了。

frank_20080215
frank_20080215   2015.05.27 07:08

这就是异常,因为0是不可以做分母的。没有用try...catch语句来捕获。就这样了,程序异常终止。

91program
91program   Ds   Rxr 2015.05.27 07:18

可能是对 == 和 != 使用的问题。

 if(y == 0)

应该是:

 if(0 != y)

91program
91program 只有在 y 不等于零的情况下,才做除法运算。否则,直接退出。
2 年多之前 回复
onehee
onehee   2015.05.27 07:38

这完全是数学问题吧。。。楼主数学是体育老师教的吗?还有明知道有异常,为什么不用 try catch

caojiangxia
caojiangxia   2015.05.27 07:52

0怎么能做分母,用什么语言都不行吧,这不是C语言的事

claysystem
claysystem 对啊,我就是想看他会怎么个出错法,原来是除法溢出了!学习了
2 年多之前 回复
mcchrist
mcchrist   2015.05.27 08:35

目测楼主数学逻辑没学好的吗?0不能做分母~

claysystem
claysystem 书里面的例子,书里面说不能用0做分母否则会出错,我想看看会出怎么个错,就是试了一下..原来是除法溢出了!学习了
2 年多之前 回复
quentain
quentain   2015.05.27 08:40

应该是这样 if(0 != y)

u012216727
u012216727   Ds   Rxr 2015.05.27 09:04

if(y!=0}你那才有效的。你定义的整形的默认值应该就是零。
你这个main()函数为什么是:
public int main(){
.......
return 0;
}

    应该是:
     public void main(){
    ......
    //去掉return 0;
    }

    这样的吧。

    如果回答对你有帮助,请采纳
claysystem
claysystem ...我按照书里面的代码敲的
2 年多之前 回复
u012216727
u012216727 c语言就没有访问修饰符?
2 年多之前 回复
q3733353520
q3733353520 人家的是c语言好么,你这public算是怎么回事
2 年多之前 回复
ma704789638
ma704789638   2015.05.27 09:09

if(0 != y)

wangyaninglm
wangyaninglm   Ds   Rxr 2015.05.27 10:21

这个应该是你除零了,所以程序停止工作了

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片