头发 发表于 2020-11-16 08:26:14

为啥输出会错误呢?

#include<stdio.h>
void fun(int *a,int *n)
{

        int s=0;
        int i=7;
        for(i;i<1000;i++)
        {
                if(i%7==0||i%11==0)
                {
                        if(i%77==0) continue;
                        else s++;
                }
        }
        *n=s;
}
int main()
{
        int a,n,k;
        fun(a,&n);
        for(k=0;k<n;k++)
        if((k+1)%10==0)
        printf("\n");
        else
        printf("%5d",a);
        return 0;
}

题干:编写void fun (int *a,int *n)函数求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有函数,并将其放在a所指的数组中,通过n返回这些数的个数。

我为啥会输出一堆随机数字

xieglt 发表于 2020-11-16 08:31:10

#include<stdio.h>
void fun(int *a,int *n)
{
       
        int s=0;
        int i=7;
        for(i;i<1000;i++)
        {
                if(i%7==0||i%11==0)
                {
                        if(i%77==0)
                                continue;
                        else
                        {
                                //你没有给数组a的元素赋值
                                a = i;
                                s++;
                        }
                }
        }
        *n=s;
}

int main()
{
        int a,n,k;
        fun(a,&n);

        for(k=0;k<n;k++)
      if((k+1)%10==0)
                        printf("\n");
      else
                        printf("%5d",a);
    return 0;
}
页: [1]
查看完整版本: 为啥输出会错误呢?