gpt4 book ai didi

c - 传递一个数组作为参数

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:45 26 4
gpt4 key购买 nike

我想编写一个简单的程序来找出所有 < n 的素数。我想存储我在数组中找到的数字。问题是我不知道如何将数组传递给函数并将结果保存在其中。现在它不会将数字保存在数组中。这是我的代码:

编辑:预期的输出是使用我制作的打印功能打印值。现在,在程序离开 nrprime 函数后,它会删除答案。问题是程序将该数组视为局部变量。我怎样才能将其视为全局变量并真正将答案存储在其中。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

// Se citeste un numar intreg de la tastatura, sa se afiseze toate numerele prime mai mici decat n.
// calculating
int nrprime(int numar,int prime[150])
{
int i, j, ok, index = 0;
prime[index++] = 2;
for (i = 3 ; i < numar ; i = i + 2)
{
ok = 1;
for (j = 3 ; j <= sqrt(i) ; j = j + 2)
if (i % j == 0)
ok = 0;
if (ok == 1)
{
printf("I:=%d", i);
prime[index] = i;
index++;
}
}
return index;
}

// printing
void afisare(int *prime, int index)
{
int i=0;
printf("Numerele prime sunt:");
for (i = 0 ; i <= index ; i++)
printf("%d", prime[index]);
}


int main(void)
{
int numar = 0; int prime[150];
int index;

printf("Introduceti un numar intreg pozitiv:\n");

scanf("%d", &numar);
index = nrprime(numar, prime);

afisare(prime, index);
return 0;
}

最佳答案

将数组作为参数传递在您的程序中工作正常,问题出在其他地方:

afisare 中替换

printf("%d", prime[index]);

printf("%d\n", prime[i]);

关于c - 传递一个数组作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35555473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com