帮我看看这段c程序阿 怎么老有问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 07:16:59
#include "stdio.h"
main()
{ int i,j,k=0,xx[7],flag;
for(i=100;i<1000;i++)
for(j=i+1;j<i/2;j++){
if(j%i==0)
{flag=0;break;}

else flag=1;

if(flag==1){
xx[k++]=i;}}
for(k=0;k<7;k++)
{printf("%d\n",xx[k]);}

}
显示变成
72
0
0
-52
1416
0
64

为什么会这样阿
拜托了

你的目的是要干什么啊?
错误在下面的注释中
#include "stdio.h"
main()
{ int i,j,k=0,xx[7],flag;
for(i=100;i<1000;i++)
for(j=i+1;j<i/2;j++) //这个for你看看会不会执行
{
if(j%i==0)
{flag=0;break;}

else flag=1;

if(flag==1){
xx[k++]=i;}}
for(k=0;k<7;k++)
{printf("%d\n",xx[k]);}
}
for语句没有执行过,那个数组里的数都没有被赋过值,当然表现出来就是随机的数了

建议下次调试程序的时候用逐步调试,
让程序一行一行的执行,就可以发现这么简单的错误了.