|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #define N 100
- int main(void)
- {
- int i,j,a[N],k = 0,flag = 0;
- for(i = 200;i <= 300;i++)
- {
- for(j = 2;j < i / 2;j++)
- {
- if(i % j == 0)
- {
- flag = 1;
- break;
- }
- else
- {
- flag = 0;
-
- }
- }
- if(!flag)
- {
- a[k] = i;
- k++;
- }
- }
- for(i = 0;a[i] != 0;i++)
- {
- printf("%d\n",a[i]);
- }
-
- return 0;
- }
复制代码
编译运行实况
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
48
--------------------------------
Process exited after 0.03712 seconds with return value 0
请按任意键继续. . .
为什莫最后打印出来会出现48
#include <stdio.h>
#define N 100
int main(void) //数组输出的时候越界了,数组未定义项可不是!0,而是无意义的数.
{
int i,j,a[N],k = 0,flag = 0; //不妨再试试把这里的a[N]改为a[N]={0},其余不变,你会理解的,加油!
for(i = 200;i <= 300;i++)
{
for(j = 2;j < i / 2;j++)
{
if(i % j == 0)
{
flag = 1;
break;
}
else
{
flag = 0;
}
}
if(!flag)
{
a[k] = i;
k++;
}
}
for(i = 0;i<k;i++) //这里进行了修改!
{
printf("%d\n",a[i]);
}
return 0;
}
|
|