gpt4 book ai didi

c - 为什么数组不打印正确的数字?

转载 作者:行者123 更新时间:2023-11-30 18:27:51 25 4
gpt4 key购买 nike

以下代码:

#include <stdio.h>

int izbaciSveProste(int n, int x[], int y[])
{
int i;
int flag=0;

for(i=2; i<n/2; i++)
{
if(n%i ==0)
{
flag =1;
break;
}
}
if(flag==1)
return 0;
else
return 1;
}

int main()
{
int i,j,n,x[100],y[100];

printf("Koliko elemenata zelite u polju?\n");
scanf("%d", &n);

printf("Enter elements in array:- ");
for(i=0;i<n;i++)
{
scanf("%d",&x[i]);
}

int len = sizeof(x)/sizeof(x[0]);

for(i=0; i<len; i++)
{
if(izbaciSveProste(x[i]))
{
for(j=i; j<len; j++)
{
x[j] = x[j+1];
}
i--;
len--;
}
}
printf("Elementi nakon brisanja su:\n");
for(i=0; i<len; i++)
printf("%d\n",y[i]);

printf("\n");

return 0;
}

该程序的目的应该是删除数组 x[] 中具有 n 个元素的所有素数,剩余元素应重写到数组 y[] 中,并最终显示数组 y[] 中元素的数量。我相信功能没问题,错误出现在 main() 中,特别是在存储 y[] 时。

最佳答案

您的函数 int izbaciSveProste(int n, int x[], int y[]) 需要三个参数。您的代码 izbaciSveProste(x[i] 传递一个参数。这还不够。编译器会通过错误消息告诉您这一事实:

error: too few arguments to function 'izbaciSveProste'

关于c - 为什么数组不打印正确的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52388743/

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