C语言:分段错误
为了测试,我编写了一个代码来计算素数您有一个有限循环,因为C语言:分段错误,c,C,为了测试,我编写了一个代码来计算素数您有一个有限循环,因为 for (p = 5 ; p <= 50 ; p + 2) // ^ has no effect 以书面形式p将索引和i打印到屏幕上,是否达到50?它是否超过50?您确定代码没有按任何索引>49对素数进行索引吗素数[49]访问第50个元素。索引C数组是基于0。在gdb中测试:index=1128,为什么?为什么?不先检查一下自己?为什么不在调试器中执行单个步骤?不一定,p不用作索引。
for (p = 5 ; p <= 50 ; p + 2)
// ^ has no effect
- 以书面形式
p将索引和i
打印到屏幕上,是否达到50?它是否超过50?您确定代码没有按任何索引>49
对素数进行索引吗<代码>素数[49]
访问第50个元素。索引C数组是基于0
。在gdb中测试:index=1128,为什么?为什么?不先检查一下自己?为什么不在调试器中执行单个步骤?不一定,p
不用作索引。
for (p = 5 ; p <= 50 ; p + 2)
// ^ has no effect
for (p = 5 ; p <= 50 ; p += 2)
stack-overflow.c:129:5: warning: statement with no effect [-Wunused-value]
for (p = 5 ; p <=50 ; p + 2)