首页 > 电脑

为什么没有返回结果

更新时间2019-12-06 04:17:21

#include<stdio.h>

int main()

{

int fun(int n,int y[]);

int i,x,j,m,n;

int y[100];

scanf("%d",&x);

fun(n,y);

printf("%d",n);

for(j=0;j<n;j++);

y[j]=i;

printf("%d",y[j]);

return 0;

}

fun(int n,int y[])

{

int i,j,x,k;

for(i=2;i<=x;i++)

{k=1;

for(j=2;j<=i-1;j++)

{

if(i%j==0)

k=0;

}

if(k==1)

n++;

}

return n;

}


程序错的太多了,按你的改好的(只是参考,可以运行及有结果)

#include<stdio.h>
int main()
{
   int fun(int n,int y[]);
   int i,x,j,m,n;
   int y[100];
   scanf("%d",&x);
   n=fun(x,y); //你这里完全不对
   printf("%d ",n);//输出分行
   for(j=0; j<n; j++) //这个循环不正确
   {
  // y[j]=i; 这个赋值没理由
   printf("%d ",y[j]);
   }
   return 0;
}
int  fun(int n,int y[]) //返回值要
{
   int i,j,x,k;
   x=n; //x要赋值
   n=0; //n清0
   for(i=2; i<=x; i++)
       {
           k=1;
           for(j=2; j<=i-1; j++)
               {
                   if(i%j==0)
                       k=0;
               }
           if(k==1)
               y[n++]=i; //这里赋值  
       }
   return n;
}


不是函数,是主程序,哪来的返回结果?

语法拼错了。所以就没有返回。

上一篇:1、ACM图灵奖获得者中哪些对计算机体系发展有贡献?哪些对程序设计语言有贡献?

下一篇:要求输出一个字符然后把这个字符存入二维数组,该怎么做