兄弟们他这个不会报错吗
c吧
全部回复
仅看楼主
level 6
这是求质数的
prnumder[lbk]0[rbk]=3, prnumder[lbk]1[rbk]=0,prnumder[lbk]2[rbk]=5
这个i%prnumder[lbk]1[rbk]=0不会报错吗
2026年01月02日 14点01分 1
level 6
大佬们这贴吧中括号有问题
2026年01月02日 14点01分 2
吧务
level 11
注意循环条件是y < count,这会保证不会除0!!!
因为只有判断出了素数,才会把这个素数添加到数组的第count项并把count增一!!
2026年01月03日 02点01分 3
程序会保证数组前Count项都是素数(质数),而不会是0!!
2026年01月03日 02点01分
可是count++,count为2时,0就为被除数了
2026年01月03日 02点01分
@净化器哈哈哈 注意后自增的运算顺序!!!当i等于5时,是先把5赋值给prnumber[1],然后Count自增为2!!而不是Count先自增为2,再把5赋值给prnumber[2]!!!!
2026年01月03日 02点01分
@净化器哈哈哈 后自增是先取值后增一
2026年01月03日 02点01分
level 1
首先,你的PrnNumder数组 初始化就是全部为3,所以里面不可能有0
其次,内循环:
for(int y = 0; y<Count; y++)//这个指示的是 PrnNumder 的下标
{
// i 不可能为0 PrnNumder[y] 里面填充 3 怎么循环也不可能为0,应该要担心的是数组越界
if(i%PrnNumder[y] == 0)
{
iPr=0;
}
}
if(1==iPr)//最好是这样写
{
//Count 是先使用,即 i 的值 把 PrnNumder数组里面 Count 位置的 3 给覆盖了,Count 再+1
PrnNumder[Count++] = i;
}
2026年01月29日 03点01分 4
1