除数不是零为啥会报错啊?

这个代码是没有错的,照着课本上的敲,但是执行的时候会显示/ by zero的错误,实在看不出来哪里错了😣

img

img

这个是 i 吧

题主,您好,for循环条件判断书写笔误,请修正为i<pn,不是1<pn,如下:

img

如果是1<pn,且当pn用户输入值大于1时,那该条件一直成立,直到int pn数据类型溢出,后果不可预料。

错误分析:
1.代码 1<pn 会导致无限循环
2.int最大值为2147483647,继续增加为-2147483648,
3.无限循环i++ 最终 i=0 导致 by zero

解决:
1<np 修改为 i<pn

没看到你用除法啊,%不是求余吗?

你可以把pn 直接换成10 来测试一下 你的程序
还有就是你的那个循环是出不去的